I'm impressed by the 'CW Academy' run at with classes online (e.g. Skype) and on air.
Three levels, the first being:
Level 1 (beginners and operators whose code speed is 10 wpm or less; meetings are held online only)
The objectives for Level 1 training are to learn all Morse letters and numbers at a letter speed of 20 wpm and a word speed above 15 wpm; to learn conversational QSO protocols; to be introduced to contest QSOing; and to be introduced to DX pileup best practices.
Being part of an organized class (twice weekly) with homework sessions seems to aid motivation.
Paul, G7SPV