* remove unused functions and members
* make protected functions used only locally or in factory
* rename some functions to be more meaningful
* refactor some enums to enum classes
* move functions creating objects to new class CObjectFactory
* replace calls to CObject::Create*() with CObjectManager::Create()
* move creation/deletion of some objects to better places
* make CModelManager non-singleton
* clean up some code in changed functions