Added Routine enum

Refactored Routines and TeachingControllers