Bad sign when you can't follow your own code.
All of the various state changing methods were flattened into one
because it was too hard to follow what was calling what and why.
Most other usages have this included. Noticed that the panel was
changing state when exiting the game using cmd-w.
Would probably be nice to have an exposed `HasAnyModifierPressed` helper
property.