Initial commit - extracted from Inquirer.js