index.js
function callbackInModifiedEnv(callback, setInEnv, removeFromEnv) {
  var origEnv = {};
  var result;
  setVars(origEnv, setInEnv);
  delVars(origEnv, removeFromEnv);
  result = callback();
  restoreEnv(origEnv);
  return result;
}
function callbackInModifiedEnv(callback, setInEnv, removeFromEnv) {
  var origEnv = {};
  var result;
  setVars(origEnv, setInEnv);
  delVars(origEnv, removeFromEnv);
  result = callback();
  restoreEnv(origEnv);
  return result;
}
function callbackInModifiedEnv ( callback , setInEnv , removeFromEnv ) { var origEnv = { } ; var result ; setVars ( origEnv , setInEnv ) ; delVars ( origEnv , removeFromEnv ) ; result = callback ( ) ; restoreEnv ( origEnv ) ; return result ; }
calls callback within context of modified environment
@callback callback - function to be called while environment is modified
@arg {Object} setInEnv - vars to set in current env
@arg {Array} removeFromEnv - array of variable names to remove from env
@function
calls callback within context of modified environment