Say that we have a user class (above) with the typical problem of having too many responsibilities. We are trying to introduce the concept of "prepaid credits" so that when we bill a user instead of charging their # card, we can deduct credits instead. We want to add some methods like "add_credit" and "available_credits". We want to avoid adding these methods to User.
One idea I had was to create an Account object (see above), and define the methods on that.
The question is, is there any way to avoid writing code of the form "user.account.add_credit", and thus violating the law of demeter.