Just a suggestion to the OP, but don't try to "visualize the letters in your mind". CW is a spoken language, learn the sounds of the letters, not the way the dots and dashes look written down. It's like the difference between heiroglyphs and spoken Egyptian. It sounds like you're doing it the right way by sending the characters at 15-20 wpm, that really helps you learn the sounds so that you're not mentally counting them in your head.
I can copy CW at 50-60 wpm, used to be a hardcore HF contester for 20 years or so, and at that speed it's really amazing, it's just like someone sitting next to you talking. You really no longer hear the morse code at all, but for me it takes total awareness, if my focus drifts it just turns into the sounds of crickets chirping and the meaning disappears.
CW can be very useful. A cw rig can be incredibly simple, fit in your shirt pocket, and the signal to noise ratio is great. For hams, if you want to work real DX over difficult paths, CW gets through a lot better than SSB. Also, a nice 250 hertz filter in your rig will make it seem like you have the band to yourself, you don't have to listen to the splatter and crud on the SSB sections of the band.
Good luck with the project, remember, it's a spoken language, not a written language.