code: function() {
      if (this.buffers.length) {
        var last = this.buffers[this.buffers.length - 1];
        if (!last.full) {
          return last;
        }
      }
      var buf = new ReadWriteBuf(this.bufSize);
      this.buffers.push(buf);
      return buf;
    }
docs: writable event drain - if write returns false (which it won't), indicates when safe to write again. finish - end() has been called pipe(src) - pipe() has been called on readable unpipe(src) - unpipe() has been called on readable error - duh