- Replace SelectionManager::Get() singleton with m_context->GetSelectionManager()
- Use EventBus for selection change events instead of direct subscription
- Store entity ID (uint64_t) instead of GameObject* pointer
- Resolve entity ID to GameObject* via SceneManager::GetEntity()
- Remove direct includes of SelectionManager.h