Users can have a set of preferences

Apologies to Harry
Why does this have to be a separate table? These could just as easily be on `User`.