I've already created a keymap class while working on #50, this could be expanded to encompass MouseGrabHandler and KeyHeldHandler. The reason I'm thinking this would be helpful is because I might like to hide the mouse cursor while using a tool, and it's a little clunky currently trying to manage who's in control of the cursor.