public IncomingPipeline Create()
{
var pipeline = new IncomingPipeline();
pipeline.Transport
.Register(new DeadLetterMessagesWhichCantBeDeserializedStep(new TraceDeadLetter(deadLetter)))
.Register(new DeserializeTransportMessageStep(new NewtonsoftJsonMessageSerializer()));
pipeline.Logical
.Register(new RetryMessagesStep())
.Register(new DeadLetterMessagesWhenRetryCountIsReachedStep(new TraceDeadLetter(deadLetter)))
.Register(new LoadMessageHandlersStep(registry))
.Register(new InvokeHandlerStep())
.Register(new TraceIncomingLogical(incoming));
return pipeline;
}