docs: function() {
        var items = qp.arg(arguments);
        var done = items.pop();
        var results = {};
        var next_input = () => {
          if (items.length) {
            var item = items.shift();
            var action = item.action || (item.key === 'confirm' ? 'confirm' : item.options ? 'pick' : 'ask');
            this[action](item, (error, result) => {
              qp.override(results, result);
              if (error) return done(error, results); else next_input();
            });
          } else {
            done(null, results);
          }
        };
        next_input();
      }