- Use enums for key and mouse actions, rather than integer ids. - Change TerminalState to always contain a terminal. We now make TerminalState nullable when we want to skip sending anything.