public static ComponentRegistration PublishEvent(this ComponentRegistration registration, string eventName, Action <EventSubscribers> toSubscribers)
        {
            var subscribers = new EventSubscribers();

            toSubscribers(subscribers);

            registration.AddDescriptor(new EventWiringDescriptor(eventName, subscribers.Subscribers));
            return(registration);
        }
        public static ComponentRegistration <TPublisher> PublishEvent <TPublisher>(this ComponentRegistration <TPublisher> registration, string eventName,
                                                                                   Action <EventSubscribers> toSubscribers)
            where TPublisher : class
        {
            var subscribers = new EventSubscribers();

            toSubscribers(subscribers);

            return(registration.AddDescriptor(new EventWiringDescriptor(eventName, subscribers.Subscribers)));
        }