Didn't see the comment until now :) looks good

hmm I see now a danger where there is another error listener on the stream that would get the error twice. We are relying on the fact that there is only one error listener, the once() clearing it out, and then the re-emission throwing an error (that is caught be the domain). I'm not sure how we should handle this.