Retention comes from repetition; I don't think it is age specific. I also don't believe you need to go to a class to teach them. Just do 1-2, five minute sessions everyday and Lily will pick it right up. Teach 3-4 things at a time, so you don't bore the dog with the same task over and over. Sit, sit, sit , sit, etc.
Zues is five months and he can:
Sit, come, heel, down, stand, stay (as long as needed until I release him), stand/stay, shake, high-five, bow, Bruce Lee (I make him kick his back leg out), and catch (grab any food thrown in the air).
Sibyl is 18-months, and came to us four weeks ago with a different name and not even knowing sit. She can now:
Come, heel, sit, down, stay, stand, shake. We are working on the rest.
Strategy wise, what worked with Zues has not worked with Sibyl. We have had to teach them differently. I suggest picking a command, then Googling it and picking three different ways of teaching that command and then trying it out with Lily. One method will work faster than the rest, so use that one. OB classes tend to do it "their way" which may or may not be the best for your dog. All dogs are different.