code: function _createAutocomplete(session) {
      return function(args, callback) {
          args = args.slice();
  
          // First handle the case where this is an auto-suggest based on finding the command name
          var allCommandNames = _.keys(session.commands().get());
          if (_.isEmpty(args)) {
              return callback(null, allCommandNames);
          } else if (args.length === 1) {
              return callback(null, _.filter(allCommandNames, function(commandName) {
                  return (commandName.indexOf(args[0]) === 0);
              }));
          }
  
          // We presumably have a command argument already, feed the remaining arguments into the
          // commands autocomplete implementation
          var commandName = args.shift();
          var command = session.commands().get(commandName);
          if (command && _.isFunction(command.autocomplete)) {
              return command.autocomplete(session, args, callback);
          }
  
          return callback(null, []);
      };
  }
docs: /*!
  Create an autocompleter function that autocompletes based on the commands in the session