code: function runAsync(context, func, callback)
  {
    var result
      , requiresContext = isArrowFunction(func)
      ;
  
    if (requiresContext)
    {
      result = func.call(null, context, callback);
    }
    else
    {
      result = func.call(context, callback);
    }
  
    return result;
  }
docs: Wraps asynchronous function with common interface
  
  @param   {object} context - context to invoke within
  @param   {function} func - function to execute
  @param   {Function} callback - invoke after function is finished executing
  @returns {void}