/// <summary>
        /// Initialises the history stack and sets the current menu to the given menu.
        /// </summary>
        /// <param name="menu">The menu behaviour to be used as the initial menu.</param>
        public static void Init(MenuBehaviour menu)
        {
            _history = new Stack <MenuBehaviour>();
            Current  = menu;

            Current.OnEnter();
        }
        /// <summary>
        /// Switches from the current menu to the given menu.
        /// </summary>
        /// <param name="menu">The menu behaviour to switch into.</param>
        public static void GoInto(MenuBehaviour menu)
        {
            Current.OnLeave();

            Current.gameObject.SetActive(false);
            _history.Push(Current);

            Current = menu;
            Current.gameObject.SetActive(true);

            Current.OnEnter();
        }