Use key value observing and a little bit of runtime to cause redisplay when properties change, removing all the custom setters.
Renamed ‘setDefaultValues’ to “initialise’ because it also sets up KVO.