I think if I were approaching this, I would not think in terms of a separate module for each class, nor do I think using the existing features and linking together is going to result in a really nice training app experience. Modules/Features are meant to be self contained they are not designed to build apps by orchestrating across them. That would be a very complicated and fragile approach, maybe possible but not what I envision atall for feature development.
What I would think in terms of is making a module that plugs into the page which is basically the list or catalog of classes. Then the user click the link and it goes to its supporting page where you implement whatver you need.
I would think in terms of existing e-learning standards like SCORM and build my courses according to SCORM. If you do some googling for "ASP.NET SCORM" you should be able to find a number of things, also search codeplex for SCORM. One open source one I know of is DotNetScorm.
So basically I'd implement a SCORM course ware player and then implement the class/course content as SCORM so it can run in the player.
Hope it helps,
Joe