public void DisableAll(bool save = true)
    {
        DisabledList.Clear();
        UpdateProfileSelection();

        ModSelectorService modSelector = ModSelectorService.Instance;

        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.SolvableModule));
        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.NeedyModule));
        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.Bomb));
        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.GameplayRoom));
        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.Widget));
        DisabledList.AddRange(modSelector.GetModNames(ModSelectorService.ModType.Service));

        if (save)
        {
            Save();
        }
    }
    private void GetModServices()
    {
        KMService[] modServices = FindObjectsOfType <KMService>();

        foreach (KMService modService in modServices)
        {
            ModSelectorService itself = modService.GetComponent <ModSelectorService>();
            if (itself != null)
            {
                //Don't add mod selector service/itself to this dictionary!
                continue;
            }

            Service service = new Service(modService);
            if (!_allServices.ContainsKey(service.ServiceName))
            {
                _allServices.Add(service.ServiceName, service);
            }
            else
            {
                Debug.LogErrorFormat("***** A duplicate service was found under the name {0}! *****", service.ServiceName);
            }
        }
    }