would be good if we used `require('readable-stream').Writable` instead of implementing our own buffering.