It breaks encapsulation and can lead to inconsistency.
Directly modifying a `Product` from a `CartItem` violates encapsulation and can lead to inconsistent states. For example, if a `CartItem` alters the `Product` stock directly, it might bypass validation or business rules enforced by the `Product` class.
Additional Notes
What happens if `CartItem` directly modifies `Product`?