code: function countdown (howMany, lambda, completed) {
  		var result;
  		return function () {
  			if (--howMany >= 0 && lambda) result = lambda.apply(undef, arguments);
  			// we want ==, not <=, since some callers expect call-once functionality
  			if (howMany == 0 && completed) completed(result);
  			return result;
  		}
  	}
docs: Returns a function that when executed, executes a lambda function,
  but only executes it the number of times stated by howMany.
  When done executing, it executes the completed function. Each callback
  function receives the same parameters that are supplied to the
  returned function each time it executes.  In other words, they
  are passed through.
  @private
  @param howMany {Number} must be greater than zero
  @param lambda {Function} executed each time
  @param completed {Function} only executes once when the counter
  reaches zero
  @returns {Function}