move button press logic to a single location

each button has 3 states:

 - pressed: it was up, now it is down
 - released: it was down, now it is up
 - down: it is or has been down
reset helper

 - press shell + green to reset progmatically
 - wag isn't continous - just when you let go