I think for now I'll pass through the individual properties instead of a dictionary and at a later abstraction have the user factory which can do the creation / validation