Yeah, I was thinking about this- if we set a preference directly on the model through `user.preferences=` but don't expect to get the entire set of preferences, we'd probably need to do something like:

    def preferences=(prefs)
      super(self.preferences.merge(Hash(prefs))) # make sure we don't erase existing preferences
    end

I haven't tested that though, and I'm not sure how we'd want to normalize types when we don't have any schema for this. Maybe we need a preferences schema if we want to do anything serious with preferences? I don't think this is devise-specific, but I'm guessing we can kick this down the road.