f present, it will be passed
// as an argument to the callback
baseObj[funcName] = function(callback, context) {
  // if ready has already fired, then just schedule the callback
  // to fire asynchronously, but right away
  if (readyFired) {
      setTimeout(function() {callback(context);}, 1);
      return;
  } else {
      // add the function and context to the list
      readyList.push({fn: callback, ctx: context});
  }
  // if document already ready to go, schedule the ready function to run
  if (docume