closes #12038 Previously we were emitting changed events for _all_ settings which would cause any listeners for those to be triggered, this ensures that listeners are only triggered if the corresponding setting, _did_ in fact change.