Break user out into it's own file, it's a separate entity in the domain, move tests into correct packages