GameObjectDefinition refactoring