docs: function request(module) {
  		var dispatch;
  
  		if (!/^[a-z0-9_-]+$/.test(module.name)) {
  			return error('Invalid module name: ' + module.name);
  		}
  
  		dispatch = shallow(module);
  		dispatch.accept = function() {
  			setImmediate(function() {
  				install(module);
  			});
  		};
  
  		dispatch.reject = function() {
  			setImmediate(function() {
  				module.skipped = true;
  				processed(module);
  			});
  		};
  
  		if (EventEmitter.listenerCount(wanted, 'install') > 0) {
  			wanted.emit('install', dispatch);
  		}
  		else if (module.options.autoAccept) {
  			dispatch.accept();
  		}
  		else {
  			dispatch.reject();
  		}
  	}