public async Task <T> GetAwaitable <T>(TimeSpan?timeout = null) where T : MultiPlayerMessage
        {
            var innerResult = await innerRouter.Await(typeof(T).Name, timeout);

            return((T)innerResult.Data);
        }