code: function ( fn, ms, id, repeat ) {
  		var op;
  
  		ms     = ms || 0;
  		repeat = ( repeat === true );
  
  		if ( id !== undefined ) {
  			utility.clearTimers( id );
  		}
  		else {
  			id = utility.uuid( true );
  		}
  
  		op = function () {
  			utility.clearTimers( id );
  			fn();
  		};
  
  		utility[repeat ? "repeating" : "timer"][id] = setTimeout( op, ms );
  
  		return id;
  	}
docs: Defers the execution of Function by at least the supplied milliseconds
  Timing may vary under "heavy load" relative to the CPU & client JavaScript engine
  
  @method defer
  @param  {Function} fn     Function to defer execution of
  @param  {Number}   ms     Milliseconds to defer execution
  @param  {Number}   id     [Optional] ID of the deferred function
  @param  {Boolean}  repeat [Optional] Describes the execution, default is `false`
  @return {String}          ID of the timer