Committed this a little too late (I've already changed some of the functionality) but the basic framework is in place for the one teacher-to-many students requirement, as well as the corresponding random student to teacher seeding and test code.