code: function runNext() {
  	if (this.locked) return false;
  
      var item = this.queue[0];
      if (!item) return false;
  
      if (item.exclusive) {
          if (this.running) return false;
          this.locked = true;
      }
  
      this.queue.shift();
  
      this.running++;
  
  	var self = this;
  	item.fn.call(item.ctx).then(function(res) {
  		runDone.call(self, item, true, res);
  	}, function(err) {
  		runDone.call(self, item, false, err);
  	});
  
  	return true;
  }
docs: Run next item in queue
  @returns {boolean} - `true` if was able to run an item, `false` if not