'end' events are from the
stream.Readable classes, respectively. The
'finish' event is emitted
stream.end() is called and all chunks have been processed
'end' event is emitted
after all data has been output, which occurs after the callback in
transform._flush() has been called.