public static void UnDetour()
        {
            try
            {
                DetourUtils.RevertRedirect(playClickSoundOriginal, playClickSoundState);
                Mod.Instance.Log.Debug("UIComponent.PlayClickSound() detour has been reverted");
            }
            catch (Exception ex)
            {
                Mod.Instance.Log.Error("Exception while reverting detour UIComponent.PlayClickSound(): {0}", ex);
            }

            try
            {
                DetourUtils.RevertRedirect(playDisabledClickSoundOriginal, playDisabledClickSoundState);
                Mod.Instance.Log.Debug("UIComponent.PlayDisabledClickSound() detour has been reverted");
            }
            catch (Exception ex)
            {
                Mod.Instance.Log.Error("Exception while reverting detour UIComponent.PlayDisabledClickSound(): {0}", ex);
            }
        }
        public static void Detour()
        {
            try
            {
                playClickSoundState = DetourUtils.RedirectCalls(playClickSoundOriginal, playClickSoundReplacement);
                Mod.Instance.Log.Debug("UIComponent.PlayClickSound() has been detoured");
            }
            catch (Exception ex)
            {
                Mod.Instance.Log.Error("Exception while detouring UIComponent.PlayClickSound(): {0}", ex);
            }

            try
            {
                playDisabledClickSoundState = DetourUtils.RedirectCalls(playDisabledClickSoundOriginal, playDisabledClickSoundReplacement);
                Mod.Instance.Log.Debug("UIComponent.PlayDisabledClickSound() has been detoured");
            }
            catch (Exception ex)
            {
                Mod.Instance.Log.Error("Exception while detouring UIComponent.PlayDisabledClickSound(): {0}", ex);
            }
        }