code: function confirm(args, callback)
  {
  	var cstate;
  
  	mod_assertplus.object(args, 'args');
  	mod_assertplus.string(args.message, 'args.message');
  
  	/*
  	 * This object encapsulates the state of this asynchronous operation.
  	 */
  	cstate = {
  	    /* prompt message */
  	    'cf_message': args.message,
  
  	    /* streams used for output and input */
  	    'cf_outstream': process.stdout,
  	    'cf_instream': process.stdin,
  
  	    /* input is a tty */
  	    'cf_intty': null,
  	    'cf_inraw': null,
  
  	    /* data read from input */
  	    'cf_read': null,
  
  	    /* user callback to be invoked */
  	    'cf_callback': callback
  	};
  
  	cstate.cf_intty = cstate.cf_instream.isTTY;
  	if (cstate.cf_intty) {
  		cstate.cf_inraw = cstate.cf_instream.isRaw;
  		if (!cstate.cf_inraw) {
  			cstate.cf_instream.setRawMode(true);
  		}
  	}
  
  	cstate.cf_outstream.write(cstate.cf_message);
  	cstate.cf_read = cstate.cf_instream.read(1);
  	if (cstate.cf_read === null) {
  		cstate.cf_instream.once('readable', function () {
  			cstate.cf_read = cstate.cf_instream.read(1);
  			confirmFini(cstate);
  		});
  	} else {
  		setImmediate(confirmFini, cstate);
  	}
  }
docs: /*
  See README.md.