The current invariant for Writable streams is that they should always emit either `'error'` or `'finish'`. However, reviewing the current implementation I don't believe this is the case when the socket closes. Test case pending.