code: function _Writable() {
  	var self = this;
  	this._zUpstreamStreams = [];
  	this._writableState.zEnded = false;
  	this._writableState.zError;
  
  	// Maintain zUpstreamStreams on pipe and unpipe
  	this.on('pipe', function(source) {
  		self._zUpstreamStreams.push(source);
  	});
  
  	this.on('unpipe', function(source) {
  		self._zUpstreamStreams = self._zUpstreamStreams.filter(function(src) {
  			return src !== source;
  		});
  	});
  
  	self.firstFinish(function() {
  		self._writableState.zEnded = true;
  	});
  
  	self.firstUnignoredError(function(error) {
  		self._writableState.zError = error;
  	});
  }
docs: /* jshint ignore:end 
  Writable mixins for ZWritable streams.
  
  This class cannot be instantiated in itself.  Its prototype methods must be added to the prototype
  of the class it's being mixed into, and its constructor must be called from the superclass's constructor.
  
  @class _Writable
  @constructor