Some more work on the preference subsystem