public static void DispatchEvent(T evt)
        {
            if (!Listeners.ContainsKey(typeof(T)))
            {
                return;
            }

            for (int i = 0; i < Listeners[typeof(T)].Count; i++)
            {
                OnEventHandlerDelegate listener = Listeners[typeof(T)][i];
                listener.Invoke(evt);
            }
        }