code: function _executeFirstJob() {
      var i,
          l,
          test,
          kill,
          pushed = false,
          time = __dateNow(),
          job = _sortedByPriorityJobs.shift();
  
      // Execute the job and look at the result:
      test = job.job();
  
      // Deal with stats:
      time = __dateNow() - time;
      job.done++;
      job.time += time;
      job.currentTime += time;
      job.weightTime = job.currentTime / (job.weight || 1);
      job.averageTime = job.time / job.done;
  
      // Check if the job has to be killed:
      kill = job.count ? (job.count <= job.done) : !test;
  
      // Reset priorities:
      if (!kill) {
        for (i = 0, l = _sortedByPriorityJobs.length; i < l; i++)
          if (_sortedByPriorityJobs[i].weightTime > job.weightTime) {
            _sortedByPriorityJobs.splice(i, 0, job);
            pushed = true;
            break;
          }
  
        if (!pushed)
          _sortedByPriorityJobs.push(job);
      }
  
      return kill ? job : null;
    }
docs: Executes the most prioritary job once, and deals with filling the stats
  (done, time, averageTime, currentTime, etc...).
  
  @return {?Object} Returns the job object if it has to be killed, null else.