def METHOD_NAME(
    self,
    target: Callable,
    *args: Any,
    repeat_interval_s: Optional[PositiveFloat] = None,
) -> None:
    if self._was_started:
        raise RuntimeError(
            "Cannot add more tasks, monitor already running with: "
            f"{[x.get_name() for x in self._tasks]}"
        )
    task_data = _TaskData(target, args, repeat_interval_s)
    if task_data.name in self._to_start:
        raise RuntimeError(f"{target.__name__} is already registered")
    self._to_start[target.__name__] = task_data