Refactor so User does not implement Parent directly.