Refactored User model to handle updating and creating addresses