Won't this terminate when `channel.followingTerminal` completes? The lifetime of the subscription should be tied to the other side of the channel—keeping a reference to `self`.

If I'm assigning this to a KVO channel terminal, I want that terminal—and the object it belongs to—to determine when this channel is deallocated.