Refactored GameObject