docs: function( minInterval, output ) {
  			var scheduled,
  				lastOutput = 0;
  
  			function triggerOutput() {
  				lastOutput = ( new Date() ).getTime();
  				scheduled = false;
  				output();
  			}
  
  			return {
  				input: function() {
  					if ( scheduled )
  						return;
  
  					var diff = ( new Date() ).getTime() - lastOutput;
  
  					// If less than minInterval passed after last check,
  					// schedule next for minInterval after previous one.
  					if ( diff < minInterval )
  						scheduled = setTimeout( triggerOutput, minInterval - diff );
  					else
  						triggerOutput();
  				},
  
  				reset: function() {
  					if ( scheduled )
  						clearTimeout( scheduled );
  
  					scheduled = lastOutput = 0;
  				}
  			};
  		}