public Task Consume(ReceiveContext <TCommand> messageContext)
 {
     Guard.NotNull(messageContext, nameof(messageContext));
     return(this.channel.Send(messageContext.CreateSendContext()));
 }
 public Task Consume(ReceiveContext <TEvent> messageContext)
 {
     Guard.NotNull(messageContext, nameof(messageContext));
     return(this.channel.Publish(messageContext.CreateSendContext()));
 }
 public Task <TResponse> Consume(ReceiveContext <TRequest> messageContext)
 {
     Guard.NotNull(messageContext, nameof(messageContext));
     return(this.channel.Request <TRequest, TResponse>(messageContext.CreateSendContext()));
 }