more refactoring, more tests

- added getter/setter for base class (needs work)
- started adding tests for each button