Merge "Refactor Preferences code to allow better reuse."