Refactor the event handling methods
Update rectangle logic to include '_moving'
Clean up event handling and add a state attribute
Add state handling to onmove
More "state" refactoring
Add key release and continue refactoring state handling
Recreate the _get_data method and more event refactoring
Refactor the event creator to call the private methods