Fixed zipped streams from being closed prematurely

Turns out it wasn't just merges that had this bug
Refactored sample to use channels for stopping