public RabbitSenderBuilder(IMessageBus messageBus, IBus bus, RabbitModule module)
        {
            Assert.ArgumentNotNull(messageBus, nameof(messageBus));
            Assert.ArgumentNotNull(bus, nameof(bus));

            _bus      = bus;
            _module   = module;
            _strategy = new DefaultSenderBuildStrategy(messageBus.Id);
        }
 public IRabbitSenderBuilder <TPayload> TransformTo <TRemote>(Func <Envelope <TPayload>, string, TRemote> transform)
     where TRemote : class
 {
     _strategy = new TransformingSenderBuildStrategy <TRemote>(transform);
     return(this);
 }