Instead of customising the palette, then monitoring for changes, we set the background color role of the widget.
This has the benefit of keeping the palette inherited, therefore changes to the system palette still propogate. Not to mention we don't need to watch for palette change events.