public void Exit()
    {
        _dispatcher.RemoveListener(GameplayEventType.DAMAGE_TAKEN, onDamageTaken);
        _dispatcher.RemoveListener(GameplayEventType.GAME_COMPLETE, onGameComplete);
        _dispatcher.RemoveListener(GameplayEventType.GAME_RETRY, onGameRetry);

        _hudController.RemoveView();
        _buildSystem.CleanUp();
        _lootSystem.Dispose();
        _inventorySystem.Dispose();
    }