Background: You're tasked with developing an e-commerce application where customers create accounts with varying levels of detail. Yet, using a standard constructor gives you 3 challenges:
1. Registration forms: It's cumbersome to ensure users enter all fields in the correct order, leading to errors and frustration.
2. Optional fields: Not all customers provide complete information, but the constructor forces them to.
3. Data consistency: Changes to user profiles after registration can cause unexpected issues due to mutable fields.
Using the Builder Pattern can address this issue.