pub fn channel<I: Interface>() -> (impl FnOnce(I), impl FnOnce(()) -> I)
Returns a sender and a receiver.