Updated to 'interactive' mode (I really need to find a better name. Added support for key states. Fought with and discarded the use of bimaps for keys