#32 Preference service (skeleton)