public override void ExitState()
        {
            Console.WriteLine("GreenScreenRoomGameState.ExitState");

            GameFacade.Instance.RemoveMediator(typeof(GreenScreenRoomStateMachine).Name);

            RoomManagerProxy roomManagerProxy = GameFacade.Instance.RetrieveProxy <RoomManagerProxy>();

            if (roomManagerProxy != null && roomManagerProxy.CurrentRoom != null)
            {
                RoomId currentRoomId = roomManagerProxy.CurrentRoom.RoomId;
                RoomAPICommands.LeaveRoom(currentRoomId);
            }

            // Unregister Commands
            GameFacade.Instance.RemoveCommand(GameFacade.SEND_CHAT);
            GameFacade.Instance.RemoveCommand(GameFacade.RECV_CHAT);
            GameFacade.Instance.RemoveCommand(GameFacade.SEND_EMOTICON);
            GameFacade.Instance.RemoveCommand(GameFacade.RECV_EMOTICON);
        }