public OutgoingPipeline Create()
{
var pipeline = new OutgoingPipeline();
var senderStep = new DispatchToTransportStep(new MessageSenderSimulator(onMessage), new MessagePublisherSimulator(onMessage));
pipeline.Logical
.Register(new CreateTransportMessageStep())
.Register(new TraceOutgoingLogical(outgoing));
pipeline.Transport
.Register(new SerializeMessageStep(new NewtonsoftJsonMessageSerializer()))
.Register(new DetermineDestinationStep(router))
.Register(new EnrichTransportMessageWithDestinationAddress())
.Register(senderStep);
return pipeline;
}