Alright, d4d9792 causes `BaseAgentMode` to have a `command_map` dict instead of being one itself. Another nice thing is that we can move a small amount of command execution logic out of the agent itself and into `BaseAgentMode`.