public static void Load()
        {
            //load and init config from file
            QSEzConfig.LoadConfig();

            isExists_SlotExtenderZero = ReflectionHelper.IsNamespaceExists("SlotExtenderZero");

            if (isExists_SlotExtenderZero)
            {
                BZLogger.Log("SlotExtenderZero found! trying to work together..");
            }

            try
            {
                Assembly assembly = Assembly.GetExecutingAssembly();

                Harmony.CreateAndPatchAll(assembly, $"BelowZero.{assembly.GetName().Name}.mod");

                BZLogger.Log("Harmony Patches installed");

                SceneManager.sceneLoaded += new UnityAction <Scene, LoadSceneMode>(OnSceneLoaded);

                //CoroutineHost.StartCoroutine(WaitForUGUI());

                IngameMenuHandler.Main.RegisterOnQuitEvent(OnQuitEvent);
            }
            catch (Exception ex)
            {
                Debug.LogException(ex);
            }
        }
        private static void OnSceneLoaded(Scene scene, LoadSceneMode mode)
        {
            if (scene.name == "XMenu")
            {
                QSEzConfig.InitConfig();

                new QSEzCommand();

                GameInput.OnBindingsChanged += GameInput_OnBindingsChanged;
            }
        }
        /*
         * public static IEnumerator WaitForUGUI()
         * {
         *  while (!uGUI.isInitialized)
         *  {
         *      yield return new WaitForSeconds(1);
         *  }
         *
         *  QSEzConfig.InitConfig();
         *
         *  new QSEzCommand();
         *
         *  GameInput.OnBindingsChanged += GameInput_OnBindingsChanged;
         *
         *  yield break;
         * }
         */

        internal static void GameInput_OnBindingsChanged()
        {
            isKeyBindigsUpdate = true;

            //input changed, refreshing key bindings
            QSEzConfig.InitSLOTKEYS();

            if (Instance != null)
            {
                Instance.ReadSlotExtenderZeroConfig();
            }

            isKeyBindigsUpdate = false;
        }