code: function QueryInterface (options) {
  	this.options = _.extend({
  		stopPropagation: false,
  		createdDefault: true,
  		fallbackFn: undefined,
  	}, options || {});
  	this._results = [];
  	this._handlers = [];
  }
docs: The `QueryInterface` class is used to provide common mock query functionality. New
  instances of this class should mostly be created internally, however the functions on
  the class are exposed on objects utilize this class.
  
  @class QueryInterface
  @constructor
  @param {Object} [options] Options for the query interface to use
  @param {QueryInterface} [options.parent] Parent `QueryInterface` object to propagate up to
  @param {Boolean} [options.stopPropagation] Flag indicating if we should not propagate to the parent
  @param {Boolean} [options.createdDefault] Default value to be used for if something has been created if one is not passed in by the query. Defaults to true
  @param {Function} [options.fallbackFn] Default function to call as a fallback if nothing is left in the queue and a fallback function is not passed in with the query