/// <summary>
        /// Push handler to the top.
        /// </summary>
        /// <param name="handler">Handler.</param>
        public static void PushHandlerToTop(IEscapeButtonHandler handler)
        {
            DebugEx.VerboseFormat("EscapeButtonListenerScript.PushHandlerToTop(handler = {0})", handler);

            if (sInstance != null)
            {
                sInstance.mHandlers.Remove(handler);
                sInstance.mHandlers.Add(handler);

                sInstance.enabled = true;
            }
            else
            {
                DebugEx.Error("There is no EscapeButtonListener instance");
            }
        }
        /// <summary>
        /// Removes the handler.
        /// </summary>
        /// <param name="handler">Handler.</param>
        public static void RemoveHandler(IEscapeButtonHandler handler)
        {
            DebugEx.VerboseFormat("EscapeButtonListenerScript.RemoveHandler(handler = {0})", handler);

            if (sInstance != null)
            {
                if (sInstance.mHandlers.Remove(handler))
                {
                    if (sInstance.mHandlers.Count == 0)
                    {
                        sInstance.enabled = false;
                    }
                }
                else
                {
                    DebugEx.Error("Failed to remove handler");
                }
            }
        }