def METHOD_NAME(self, options):
    if getattr(self, "options", None) is None:
        # First time being called, gather the configs of our sub-machineries
        for machinery_name in options.get("multi").get("machinery").split(","):
            machinery = {"config": Config(machinery_name), "module": import_plugin(f"modules.machinery.{machinery_name}")()}
            machinery_label = machinery["module"].LABEL
            machinery["module"].METHOD_NAME(machinery["config"])
            machinery_machines = machinery["config"].get(machinery_name)["machines"]
            orig_list_machines = machinery["module"].machines
            def list_machines(s):
                machines = []
                for machine in orig_list_machines():
                    machine_name = self._machine_labels[machine.label]
                    machinery_name = self._machines[machine_name]["machinery"]
                    if self._machineries[machinery_name]["module"] == s:
                        machines.append(machine)
                return machines
            machinery["module"].machines = types.MethodType(list_machines, machinery["module"])
            for machine_name in [machine.strip() for machine in machinery_machines.split(",")]:
                machine = machinery["config"].get(machine_name)
                machine["machinery"] = machinery_name
                machine.setdefault("interface", machinery["config"].get(machinery_name)["interface"])
                machine_label = machine[machinery_label]
                machine["mm_label"] = machine_label
                self._machine_labels[machine_label] = machine_name
                self._machines[machine_name] = machine
                setattr(options, machine_name, machine)
            self._machineries[machinery_name] = machinery
        setattr(options, "sections", {})
        for mk, mv in self._machines.items():
            options.sections[mk] = mv
        options.multi["machines"] = list(self._machines.keys())
    super(MultiMachinery, self).METHOD_NAME(options)