We're going to need an extra layer of validation here that confirms the preferences is an allowed key and that it is a valid type.