Returns a specification to start this module under a supervisor.
See Supervisor.
Supervisor
@spec run(atom(), atom(), atom()) :: {:ok, pid()}
@spec schedule({atom(), atom(), atom(), non_neg_integer()}) :: %{ required(String.t()) => {:ok, pid() | nil} }