/// <inheritdoc/>
        public void DeregisterFrom <TEvent>(ISubscriberOf <TEvent> subscriber)
            where TEvent : class, IEvent
        {
            Argument.NotNull(
                subscriber,
                nameof(subscriber));

            RemoveSubscriber(
                typeof(TEvent),
                subscriber);
        }
        /// <inheritdoc/>
        public void RegisterTo <TEvent>(ISubscriberOf <TEvent> subscriber)
            where TEvent : class, IEvent
        {
            Argument.NotNull(
                subscriber,
                nameof(subscriber));

            AddSubscriber(
                typeof(TEvent),
                subscriber);
        }