pub fn all(registry: Subject(Action(a, b))) -> List(Subject(b))
pub fn deregister(registry: Subject(Action(a, b)), name: a) -> Nil
pub fn lookup(registry: Subject(Action(a, b)), name: a) -> List(
Subject(b),
)
pub fn register(registry: Subject(Action(a, b)), start: fn() ->
Result(Subject(b), StartError)) -> Result(
Subject(b),
StartError,
)
pub fn register_as(registry: Subject(Action(a, b)), name: a, start: fn() ->
Result(Subject(b), StartError)) -> Result(
Subject(b),
StartError,
)
pub fn start() -> Result(Subject(Action(a, b)), StartError)
pub fn stop(registry: Subject(Action(a, b))) -> ExitReason