Refactor user system to return object representation of user