sources user model logic to trait (to use with ardent)