public Func <TRequest, Task <TResponse> > Mediate <TInput, TOutput>(
     Func <TRequest, Task <TRequest> > prep,
     Func <TRequest, TOutput, TResponse, Task <TResponse> > convert = null
     )
     where TInput : IRequest <TOutput>
 {
     return(MediatedWrapCaller.CallWrap <TRequest, TResponse, TInput, TOutput>(this, _mediator));
 }
 public Func <TRequest, Task <TResponse> > Mediate <TInput>()
     where TInput : IRequest <TResponse>
 {
     return(MediatedWrapCaller.CallWrap <TRequest, TResponse, TInput>(this, _mediator));
 }