Added Routine enum
Refactored Routines and TeachingControllers