//=== PsuedoDoc

Each level will get the command, handle it, and then pass it on
to the next level. As a general rule all commands will be passed
on to the next level, but of course if an "upper" handler did
not want to pass a value down it would be able to.

The special display will call handleCommands, if the value returned
is non-zero, then the command was handled and does not get enqueued.
If the value returned is 0, then the command is enqueued. This is
done by either the SpecialDisp or the Disp.

SpecialDisp::handleCommands( char *cmd) {
  int ret = 0;
  if (!strcasecmp( cmd, "/bob") {
    ...
    ret++;
  }
  return( Disp::handleCommands( cmd) + ret);
}

Disp::handleCommands( char *cmd) {
  int ret = 0;
  if (!strcasecmp( cmd, "/refresh")) {
    ...
    ret++;
  }
  
  // Pass the command to the special bot.
  return( bot->handleCommands( cmd) + ret);
}

SpecialBot::handleCommands( char *cmd) {
  if (!strcasecmp( cmd, "/adduser") {
    ...
    ret++;
  }

  // Pass the commands to the default bot handler.
  return( ret + Bot::handleCommands( cmd));
}

Bot::handleCommands( char *cmd) {
  if (!strcasecmp( cmd, "/quit")) {
    done++;
    return 1;
  }
  return 0;
}
