#17 Listen for preference changes and update color accordingly