public void Publish <T>(T eventData)
        {
            Type handleType = typeof(T);

            Latches.RunWithLock(handleType, delegate
            {
                SetPublication(eventData);
                EventHandlers.Handle(eventData);
            });
        }