Added GameObjectFactory and refactored code