Fix prefs change handler

Don't register change handler with a reference to the $class and $change
value, but only for the actual preferences. This caused up to three
change handlers to be registered per pref.

Remove duplicate change handler.