def METHOD_NAME(cls):
    # Look up package entrypoints for modules
    cls._modules = {}
    try:
        cls._modules = {
            entry_point.name:
                entry_point.METHOD_NAME() for entry_point in importlib_metadata.entry_points().select(group=MODULE_ENTRYPOINT_KEY)
        }
    except Exception as ex:
        logger.warning("Failed loading modules.", exc_info=ex)
    if len(cls._modules) < 1:
        logger.warning("No module found, falling back to default.")
        # PyInstaller under Windows has no idea what (custom) entrypoints are...
        # TODO: Figure out a better way to do this...
        cls._modules = cls._load_windows_modules()
    dependencies = {}
    for k, module in cls._modules.items():
        dependencies[k] = module.depends_on()
    resolved_deps = dep(dependencies)
    cls._modules = dict(sorted(cls._modules.items(), key=lambda x: resolved_deps.index(x[0])))
    for module in cls._modules.values():
        module.METHOD_NAME()