- button Color is now a public property and changes when selected
- several small optimizations