5a3aabf220
Assigning .label repainted nothing until the caller also remembered to invalidate, and forgetting produced a screen that silently stopped updating with no error to follow. setText makes the pair atomic and skips the repaint when the text is unchanged, so an app can push a value on every tick without comparing first.