code: function startObserving() {
  
  	if (config.skipObserving) {
  		return;
  	}
  
  	// Reprocess now
  	scheduleExecution(1);
  
  	window.addEventListener('DOMContentLoaded', scheduleExecution.bind(undefined, 1, undefined, undefined));
  	window.addEventListener('load', scheduleExecution.bind(undefined, 1, undefined, undefined));
  	window.addEventListener('resize', scheduleExecution.bind(undefined, 3, true, undefined));
  
  	var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
  	if (MutationObserver) {
  		observer = new MutationObserver(checkMutations);
  		observer.observe(document.documentElement, {
  			childList: true,
  			subtree: true,
  		});
  	}
  	else {
  		window.addEventListener('DOMNodeInserted', onDomMutate);
  		window.addEventListener('DOMNodeRemoved', onDomMutate);
  	}
  
  }
docs: Starts observing DOM events and mutations