code: function internalDestroy(cb, args) {
  		var isError = Array.isArray(args) && args[0] instanceof Error
  		if (self.writable) {
  			self.writable = false
  			if (isConnected) {
  				isConnected = false
  				process.disconnect()
  				process.removeListener('disconnect', processDisconnectListener)
  			}
  			process.removeListener('error', processErrorListener)
  			if (!isError) self.emit('close')
  		}
  		if (isError) self.emit.apply(self, ['error'].concat(args))
  		if (cb) {
  			var cbArgs = []
  			if (isError) cbArgs.push(args[0])
  			cb.apply(this, cbArgs)
  		}
  	}
docs: /*
  cb(err) optional funciton
  args: array of values, first may be instanceof Error