public void SendJoinResult(GameProtocolResult result)
        {
            if (result.GameStage != ApiGameStage.Finished)
            {
                start = new Operation <StartArg, GameProtocolResult>(cancellationToken);
            }

            join.SendResponse(result);
        }
        public void SendStartResult(GameProtocolResult result)
        {
            if (result.GameStage != ApiGameStage.Finished)
            {
                ResetCommandsOperation();
            }

            start.SendResponse(result);
        }
        public void SendCommandsResult(GameProtocolResult result)
        {
            var localCommands = commands;

            if (result.GameStage != ApiGameStage.Finished)
            {
                ResetCommandsOperation();
            }

            localCommands.SendResponse(result);
        }