def METHOD_NAME(
    self,
    id: str,
    entry_point: Union[Callable, str],
    deprecated: bool = False,
    nondeterministic: bool = False,
    kwargs: Optional[dict] = None,
):
    """Register an entity.
    Parameters
    ----------
    id: str
        A unique entity ID.
    entry_point: Callable or str
        The python entrypoint of the entity class. Should be one of:
        - the string path to the python object (e.g.module.name:factory_func, or
            module.name:Class)
        - the python object (class or factory) itself
    deprecated: Bool, optional (default=False)
        Flag to denote whether this entity should be skipped in validation runs
        and considered deprecated and replaced by a more recent/better model
    nondeterministic: Bool, optional (default=False)
        Whether this entity is non-deterministic even after seeding
    kwargs: Dict, optional (default=None)
        kwargs to pass to the entity entry point when instantiating the entity.
    """
    if id in self.entity_specs:
        warnings.warn(
            message=f"Entity with ID [id={id}] already registered, but the ID "
            "is now being used to register another entity, OVERWRITING "
            "previous registered entity.",
            category=UserWarning,
            stacklevel=2,
        )
    self.entity_specs[id] = _SktimeSpec(
        id,
        entry_point,
        deprecated=deprecated,
        nondeterministic=nondeterministic,
        entity_id_format=self.entity_id_format,
        kwargs=kwargs,
    )