Refactoring GameObject states