Updated the User so that it can now handle it's own persistence.
Updated the controller to use the new User API.