Abstracted out render to their own classes, moved generateModel to Model