docs: function QueueProcessor(options){
  	if(!options){
  		options = {};
  	}
  	// Initialize the queue using the provided constructor (Array by default).
  	this._queue = typeof(options.queueConstructor) === 'function' ? (new options.queueConstructor()) : [];
  	// Set starting flags. By default, we are not processing at construction time.
  	this._processing = false;
  	this._paused = true;
  	this._errorLabelFunction = typeof(options.errorLabelFunction) === 'function' ? options.errorLabelFunction : function(workItem, error){};
  	this._processorFunction = null;
  	this._activeWorkers = 0;
  	this._concurrencyLimit = typeof(options.concurrencyLimit) === 'number' ? options.concurrencyLimit : 1;
  	if(options.processorFunction){
  		this.setProcessorFunction(options.processorFunction);
  	}
  	if(options.autostart){
  		this.start();
  	}
  	
  	this._notifier = new EventEmitter2();
  }