Initial implementation of "taskFromStreams" gulp plugin

If multiple errors shouldn't happen (due to something I'm failing to understand in the stream libraries), I'm happy with the design.  My issue is that I can see multiple errors happening in a way that doesn't indicate a design-failure of the gulpfile, and therefore should be handled.

So is this a case of relying on Javascript non-threading?  An error in the source stream will be processed before processing any previous items in the same stream?  Or one item will go through all streams before the second item begins from the first stream?

My thinking is that if the third file fails in reading, can't the first or second also fail in later steps, resulting in multiple error events?

I'll try to write a unit test that covers my idea and see if I'm totally missing something.