public void Remove(SubscriptionToken subscriptionToken)
        {
            lock (_eventTypesWithActions)
            {
                var eventWithActions = _eventTypesWithActions.FirstOrDefault(i => i.EventType == subscriptionToken.EventType);

                if (eventWithActions == null)
                {
                    return;
                }

                eventWithActions.Actions.Remove(subscriptionToken.ActionReference);

                if (eventWithActions.Actions.Count == 0)
                {
                    _eventTypesWithActions.Remove(eventWithActions);
                }
            }
        }
 public void Unsubscribe <TEventType>(SubscriptionToken subscriptionToken) where TEventType : IEvent
 {
     _eventSubscribers.Remove(subscriptionToken);
 }