setProgressIfReady(nextProgress, now) {
    const minTime = this.state.minDuration != null ? this.state.minDuration : this.MIN_TIME_EACH_PROGRESS_UPDATE;
    const isReady = this.queued.length === 0 && (this.state.lastProgressUpdateTime + minTime <= now);
    if (isReady) this.setProgress(nextProgress, now);
    return isReady;
  }
Sets the nextProgress in the local state only if it is ready to recieve it.
Ready means: the queue is empty and the amount of time since the last progress
update is greater than our this.MIN_TIME_EACH_PROGRESS_UPDATE
@param {string} nextProgress 
@param {number} now 
@returns {boolean} `true` if `progress` was ready and set, `false` if not.