More model refactoring

Model manager base class.

Note that we do still need to manually hook up the models to the model manager classes, I would like to automate this eventually when importing the models