/// <summary>
        /// Unity: OnGUI is called for rendering and handling GUI events.
        ///
        /// Trigger: This is called multiple times per frame to lay stuff out etc.
        ///          Code here ignores the F2 key that disables user interface. So if you are making something to be user hidable then use the RenderingManager.PostDrawQueue functions in here
        ///          Alternatively you could use the MonoBehaviourWindow Type and its DrawWindow Function
        /// </summary>
        private void OnGUI()
        {
            if (!_OnGUIOnceOnlyHasRun)
            {
                //set theflag so this only runs once
                _OnGUIOnceOnlyHasRun = true;
                //set up the skins library
                if (!SkinsLibrary._Initialized)
                {
                    SkinsLibrary.InitSkinList();
                }

                //then pass it on to the downstream derivatives
                OnGUIOnceOnly();
            }

            OnGUIEvery();
        }