def METHOD_NAME(
    cls,
    conn: _utils.Connection,
    pipeline_defn: Dict[str, Any],
) -> Dict[str, ModelObjectStepHandler]:
    """Instantiate and return step handlers.
    Parameters
    ----------
    conn : :class:`~verta._internal_utils._utils.Connection`
        Verta client connection.
    pipeline_defn : dict
        Pipeline specification.
    Returns
    -------
    dict of str to :class:`~verta._pipeline_orchestrator._step_handler.ModelObjectStepHandler`
        Mapping of step names to their handlers.
    """
    predecessors_mapping = cls._get_predecessors_mapping(pipeline_defn)
    step_handlers = dict()
    for step in pipeline_defn["steps"]:
        step_handlers[step["name"]] = ModelObjectStepHandler(
            name=step["name"],
            predecessors=predecessors_mapping.get(step["name"], []),
            model=ModelObjectStepHandler._init_model(
                conn, step["model_version_id"]
            ),
        )
    return step_handlers