code: function UnicastResponse(intf, offswitch) {
    EventEmitter.call(this);
  
    // id only used for figuring out logs
    this._id = uniqueId();
    debug('Creating a new unicast response (' + this._id + ')');
  
    this._intf = intf;
    this._offswitch = offswitch;
    this._answers = new RecordCollection();
    this._timers = new TimerContainer(this);
  
    // defaults
    this._delay = 0;
    this._isDefensive = false;
  
    // unicast & legacy specific
    this._destination = {};
    this._isLegacy = false;
    this._headerID = null;
    this._questions = null;
  
    // stops on offswitch event or interface errors
    intf.using(this).once('error', this.stop);
    offswitch.using(this).once('stop', this.stop);
    sleep.using(this).on('wake', this.stop);
  }
docs: Creates a new UnicastResponse
  @class
  @extends EventEmitter
  
  Sends out a unicast response to a destination. There are two types of
  unicast responses here:
  - direct responses to QU questions (mDNS rules)
  - legacy responses (normal DNS packet rules)
  
  @emits 'stopped'
  
  @param {NetworkInterface} intf - the interface the response will work on
  @param {EventEmitter}     offswitch - emitter used to shut this response down