Delegated business logic from PotterBookClient to other 3 new classes: ShoppingBasket, BookPriceCalculator, and DiscountStrategy.