public NotificationManager(MessageBus messageBus)
        {
            _messageBus = messageBus;

            var scheduler = new EventLoopScheduler();

            _messageBus.NotificationRequests.SubscribeOn(scheduler).Subscribe(HandleNotificationRequest);
            _messageBus.ForwardedSubscriptionRequests.SubscribeOn(scheduler).Subscribe(NotifyListenersOnTopic);
            _messageBus.ClosedInteractors.SubscribeOn(scheduler).Subscribe(RemoveInteractor);
            _messageBus.FaultedInteractors.SubscribeOn(scheduler).Subscribe(FaultedInteractor);
        }
        public PublisherManager(MessageBus messageBus)
        {
            _messageBus = messageBus;

            var scheduler = new EventLoopScheduler();

            _messageBus.SendableMulticastDataMessages.SubscribeOn(scheduler).Subscribe(PublishMulticastMessage);
            _messageBus.SendableUnicastDataMessages.SubscribeOn(scheduler).Subscribe(PublishUnicastMessage);
            _messageBus.ClosedInteractors.SubscribeOn(scheduler).Subscribe(RemoveInteractor);
            _messageBus.FaultedInteractors.SubscribeOn(scheduler).Subscribe(FaultedInteractor);
        }
        public SubscriptionManager(MessageBus messageBus)
        {
            _messageBus = messageBus;

            var scheduler = new EventLoopScheduler();

            _messageBus.SubscriptionRequests.SubscribeOn(scheduler).Subscribe(HandleSubscriptionRequest);
            _messageBus.NewNotificationRequests.SubscribeOn(scheduler).Subscribe(ForwardSubscriptionRequests);
            _messageBus.PublishedMulticastDataMessages.SubscribeOn(scheduler).Subscribe(HandleMulticastDataMessage);
            _messageBus.PublishedUnicastDataMessages.SubscribeOn(scheduler).Subscribe(HandleUnicastDataMessage);
            _messageBus.StalePublishers.SubscribeOn(scheduler).Subscribe(HandleStalePublisher);
            _messageBus.ClosedInteractors.SubscribeOn(scheduler).Subscribe(RemoveInteractor);
            _messageBus.FaultedInteractors.SubscribeOn(scheduler).Subscribe(FaultedInteractor);
        }