public static void Publish <TMessage>(this ITestInstanceConfigurator <IBusTestScenario> configurator, TMessage message)
            where TMessage : class
        {
            var actionConfigurator = new PublishTestActionConfigurator <IBusTestScenario, TMessage>(x => x.Bus, message);

            configurator.AddActionConfigurator(actionConfigurator);
        }
        public static void Publish <TMessage>(this ITestInstanceConfigurator <IBusTestScenario> configurator, TMessage message,
                                              Action <IPublishContext <TMessage> > callback)
            where TMessage : class
        {
            var actionConfigurator = new PublishTestActionConfigurator <IBusTestScenario, TMessage>(x => x.Bus, message,
                                                                                                    (scenario, context) => callback(context));

            configurator.AddActionConfigurator(actionConfigurator);
        }
        public static void Publish <TMessage>(this ITestInstanceConfigurator <ILocalRemoteTestScenario> configurator,
                                              TMessage message,
                                              Action <ILocalRemoteTestScenario, IPublishContext <TMessage> > callback)
            where TMessage : class
        {
            var actionConfigurator = new PublishTestActionConfigurator <ILocalRemoteTestScenario, TMessage>(x => x.LocalBus,
                                                                                                            message,
                                                                                                            callback);

            configurator.AddActionConfigurator(actionConfigurator);
        }