rewrite and support for Writable/Duplex
2.0.0