Modes are typically activated by a button in the GUI. Once a mode
is activated, it is responsible for gathering user input, processing the input,
sending a command, and performing any error handling associated with the mode
or the commands it sends. This section describes how modes are processed.