Does having multiple callers of Stream on a single consumer make sense? I don't think so. In which case, have the constructor spawn the goroutine and provide an accessor function for the channel (just like the existing `Consumer` and its `Events()`).