Don't let the User object be responsible for talking to database