val create : unit ‑> 'a tval close : 'a t ‑> unitval register : 'a t ‑> f:('a ‑> interest_status Async.Deferred.t) ‑> unitval register_init : 'a t ‑> i:(unit ‑> unit Async.Deferred.t) ‑> f:('a ‑> interest_status Async.Deferred.t) ‑> unitval on_update : 'a t ‑> f:('a ‑> unit) ‑> unitval upon : 'a t ‑> f:('a ‑> unit) ‑> unitval send : 'a t ‑> 'a ‑> unit