public bool CanUninstall <T>() where T : BaseModule => CanUninstall(ModuleLoader.ModuleType <T>());
public bool CanInstall(int moduleType) => !IsInstalled(moduleType) && !ModuleLoader.GetIncompatibleModules(moduleType).Any(IsInstalled) && ModuleLoader.GetRequirements(moduleType).All(IsInstalled);
public bool CanUninstall(int moduleType) => IsInstalled(moduleType) && !InstalledModules.Any(module => ModuleLoader.GetRequirements(module.Type).Contains(moduleType));
public bool IsInstalled <T>() where T : BaseModule => IsInstalled(ModuleLoader.ModuleType <T>());