Refactor

* Allow changing `backgroundColor` after creation.
* Do not override the Interface Builder font.
* Clean-up code.
* Better handle control events.