code: function MulticastResponse(intf, offswitch) {
    EventEmitter.call(this);
  
    // id only used for figuring out logs
    this._id = uniqueId();
    debug(`Creating new response (${this._id})`);
  
    this._intf = intf;
    this._offswitch = offswitch;
    this._answers = new RecordCollection();
    this._isStopped = false;
  
    // defaults
    this._repeats = 1;
    this._delay = 0;
    this._isDefensive = false;
  
    // repeat responses, first at 1s apart, then increasing by a factor of 2
    this._next = ONE_SECOND;
    this._timers = new TimerContainer(this);
  
    // listen to answers on interface to suppress duplicate answers
    // stop on either the offswitch of an interface error
    intf.using(this)
      .on('answer', this._onAnswer)
      .once('error', this.stop);
  
    // waking from sleep should cause the response to stop too
    sleep.using(this).on('wake', this.stop);
    offswitch.using(this).once('stop', this.stop);
  }
docs: Creates a new MulticastResponse
  @class
  @extends EventEmitter
  
  Sends out a multicast response of records on a given interface. Responses
  can be set to repeat multiple times.
  
  @emits 'stopped'
  
  @param {NetworkInterface} intf - the interface the response will work on
  @param {EventEmitter}     offswitch - emitter used to shut this response down