code: function normalizeRunParams(context, options, callback) {
  	'use strict';
  	let typeErr = new TypeError('axe.run arguments are invalid');
  
  	// Determine the context
  	if (!isContext(context)) {
  		if (callback !== undefined) {
  			// Either context is invalid or there are too many params
  			throw typeErr;
  		}
  		// Set default and shift one over
  		callback = options;
  		options = context;
  		context = document;
  	}
  
  	// Determine the options
  	if (typeof options !== 'object') {
  		if (callback !== undefined) {
  			// Either options is invalid or there are too many params
  			throw typeErr;
  		}
  		// Set default and shift one over
  		callback = options;
  		options = {};
  	}
  
  	// Set the callback or noop;
  	if (typeof callback !== 'function' && callback !== undefined) {
  		throw typeErr;
  	}
  
  	return {
  		context: context,
  		options: options,
  		callback: callback || noop
  	};
  }
docs: Normalize the optional params of axe.run()
  @param  {object}   context
  @param  {object}   options
  @param  {Function} callback
  @return {object}            With 3 keys: context, options, callback