public Task<System.Tuple<int, Domain.GameInfo>> Join(long userId, string userName, Domain.IGameObserver observer, Domain.IGameUserObserver observerForUserActor) { var requestMessage = new RequestMessage { InvokePayload = new IGame_PayloadTable.Join_Invoke { userId = userId, userName = userName, observer = (GameObserver)observer, observerForUserActor = (GameUserObserver)observerForUserActor } }; return SendRequestAndReceive<System.Tuple<int, Domain.GameInfo>>(requestMessage); }