Working on a manager layer.
Now using managers for logic instead of having it directly in the model. Not completely done, but this is a working version!