def METHOD_NAME(
    *,
    test_megacomplex: MutableMapping[str, type[Megacomplex]] | None = None,
    test_data_io: MutableMapping[str, DataIoInterface] | None = None,
    test_project_io: MutableMapping[str, ProjectIoInterface] | None = None,
    create_new_registry: bool = False,
) -> Generator[None, None, None]:
    """Contextmanager to monkeypatch multiple plugin registries at once.
    Parameters
    ----------
    test_megacomplex : MutableMapping[str, type[Megacomplex]], optional
        Registry to to update or replace the ``Megacomplex`` registry with.
        , by default None
    test_data_io : MutableMapping[str, DataIoInterface], optional
        Registry to to update or replace the ``DataIoInterface`` registry with.
        , by default None
    test_project_io : MutableMapping[str, ProjectIoInterface], optional
        Registry to to update or replace the ``ProjectIoInterface`` registry with.
        , by default None
    create_new_registry : bool
        Whether to update the actual registry or create a new one from the arguments.
        , by default False
    Yields
    ------
    Generator[None, None, None]
        Just keeps all context manager alive
    See Also
    --------
    monkeypatch_plugin_registry_megacomplex
    monkeypatch_plugin_registry_data_io
    monkeypatch_plugin_registry_project_io
    """
    context_managers = [
        monkeypatch_plugin_registry_megacomplex(test_megacomplex, create_new_registry),
        monkeypatch_plugin_registry_data_io(test_data_io, create_new_registry),
        monkeypatch_plugin_registry_project_io(test_project_io, create_new_registry),
    ]
    with ExitStack() as stack:
        for context_manager in context_managers:
            stack.enter_context(context_manager)
        yield