public IEnumerable <KeyValuePair <string, string> > GetModNamesAndDisplayNames(ModType modType)
    {
        switch (modType)
        {
        case ModType.SolvableModule:
            return(AllSolvableModules.Select((x) => new KeyValuePair <string, string>(x.ModuleType, x.ModuleName)));

        case ModType.NeedyModule:
            return(AllNeedyModules.Select((x) => new KeyValuePair <string, string>(x.ModuleType, x.ModuleName)));

        case ModType.Bomb:
            return(AllBombMods.Select((x) => new KeyValuePair <string, string>(x.name, x.name.Replace("(Clone)", ""))));

        case ModType.GameplayRoom:
            return(AllGameplayRoomMods.Select((x) => new KeyValuePair <string, string>(x.name, x.name.Replace("(Clone)", ""))));

        case ModType.Widget:
            return(AllWidgetMods.Select((x) => new KeyValuePair <string, string>(x.name, x.name.Replace("(Clone)", ""))));

        case ModType.Service:
            return(AllServices.Select((x) => new KeyValuePair <string, string>(x.ServiceName, x.ServiceName.Replace("(Clone)", ""))));

        default:
            return(null);
        }
    }