TODO custom pipeable operators buffer vs. window web sockets ajax requests cancelation of requests (typeahead) emit a signal, and then concat a new signal with a delay on the same stream (think API failure, popping an error toast)