Changed state machine, worked on keyboard events, added cached signal,
errors
made hold and tag work, and keypresses