/// <summary>
        /// Enable the loading of message data for the any message type that includes a MessageData property.
        /// </summary>
        /// <param name="configurator"></param>
        /// <param name="repository"></param>
        public static void UseMessageData(this IBusFactoryConfigurator configurator, IMessageDataRepository repository)
        {
            configurator.ConsumeTopology.AddConvention(new MessageDataConsumeTopologyConvention(repository));
            configurator.SendTopology.AddConvention(new MessageDataSendTopologyConvention(repository));

            // Courier does not use ConsumeContext, so it needs to be special
            var observer = new CourierMessageDataConfigurationObserver(configurator, repository, false);
        }
 public static void UseMessageData(this IConsumePipeConfigurator configurator, IMessageDataRepository repository)
 {
     var observer = new CourierMessageDataConfigurationObserver(configurator, repository, true);
 }