public static void TriggerEvent(string eventName, object arg)
        {
            UnityOneArgEvent thisEvent = null;

            if (instance.eventOneArgDictionary != null && instance.eventOneArgDictionary.Count > 0 && instance.eventOneArgDictionary.ContainsKey(eventName) && instance.eventOneArgDictionary.TryGetValue(eventName, out thisEvent))
            {
                thisEvent.Invoke(arg);
            }
        }
        public static void TriggerEvent(string eventName, object arg)
        {
            UnityOneArgEvent thisEvent = null;

            if (instance.eventOneArgDictionary.TryGetValue(eventName, out thisEvent))
            {
                thisEvent.Invoke(arg); // Run all listener functions associated with this event.
            }
        }
        public static void StopListening(string eventName, UnityAction <object> listener)
        {
            if (eventManager == null)
            {
                return;
            }
            UnityOneArgEvent thisEvent = null;

            if (instance.eventOneArgDictionary.TryGetValue(eventName, out thisEvent))
            {
                thisEvent.RemoveListener(listener);
            }
        }
        public static void StopListening(string eventName, UnityAction <object> listener)
        {
            if (eventManager == null)
            {
                return;                       // In case we've already destroyed our eventManager, avoid exceptions.
            }
            UnityOneArgEvent thisEvent = null;

            if (instance.eventOneArgDictionary.TryGetValue(eventName, out thisEvent))
            {
                thisEvent.RemoveListener(listener);
            }
        }
        public static void StartListening(string eventName, UnityAction <object> listener)
        {
            UnityOneArgEvent thisEvent = null;

            if (instance.eventOneArgDictionary.TryGetValue(eventName, out thisEvent))
            {
                thisEvent.AddListener(listener);
            }
            else
            {
                thisEvent = new UnityOneArgEvent();
                thisEvent.AddListener(listener);
                instance.eventOneArgDictionary.Add(eventName, thisEvent);
            }
        }