code: function scheduleExecution(step, clearContainerCache, contexts) {
  
  	if (!scheduledCall) {
  		scheduledCall = {
  			_step: step,
  			_clearContainerCache: clearContainerCache,
  			_contexts: contexts,
  		};
  		requestAnimationFrame(executeScheduledCall);
  		return;
  	}
  
  	scheduledCall._step = Math.min(scheduledCall._step, step);
  
  	// Merge parameters for reevaluate
  	if (scheduledCall._step === 3) {
  		scheduledCall._clearContainerCache = scheduledCall._clearContainerCache || clearContainerCache;
  		if (scheduledCall._contexts && contexts) {
  			scheduledCall._contexts = scheduledCall._contexts.concat(contexts);
  		}
  	}
  
  }
docs: Schedule the execution of step 1, 2 or 3 for the next animation frame
  
  @param {number}          step                1: reprocess, 2: reparse, 3: reevaluate
  @param {boolean}         clearContainerCache
  @param {Array.<Element>} contexts