////////////////

        private static void CacheAllModTagsAsync()
        {
            ThreadPool.QueueUserWorkItem(_ => {
                lock (GetModTags.MyLock) {
                    var mymod = ModHelpersMod.Instance;
                    var args  = new ModTagsLoadHookArguments {
                        Found = false
                    };

                    GetModTags.RetrieveAllModTagsAsync((success, modTags) => {
                        try {
                            if (success)
                            {
                                args.SetTagMods(modTags);
                            }
                            args.Found = success;

                            CustomLoadHooks.TriggerHook(GetModTags.TagsReceivedHookValidator, GetModTags.TagsReceivedHookValidatorKey, args);
                        } catch (Exception e) {
                            LogHelpers.Alert(e.ToString());
                        }
                    });
                }
            });
        }
        ////////////////

        private static void CacheAllModTagsAsync()
        {
            ThreadPool.QueueUserWorkItem(_ => {
                lock (GetModTags.MyLock) {
                    var mymod = ModHelpersMod.Instance;
                    var args  = new ModTagsPromiseArguments {
                        Found = false
                    };

                    GetModTags.RetrieveAllModTagsAsync((modTags, found) => {
                        try {
                            if (found)
                            {
                                args.SetTagMods(modTags);
                            }
                            args.Found = found;

                            Promises.TriggerValidatedPromise(GetModTags.TagsReceivedPromiseValidator, GetModTags.PromiseValidatorKey, args);
                        } catch (Exception e) {
                            LogHelpers.Alert(e.ToString());
                        }
                    });
                }
            });
        }