Lots of support added

- Added buttons
- Added state handling
- Added checks for if is pressed