Buttons now behave correctly, and reset properly