lib/run_function.js
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;
}
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;
}
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 ; }
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}
Wraps asynchronous function with common interface