Chapter 11
In this chapter, we're going to modify the interfaces of our design to simplify the code needed to implement the interfaces. The purpose of the changes we're making is increased simplicity; the ultimate goal is increased stability. We firmly believe that increased simplicity always leads to increased stability. To achieve the desired outcome, we had to backtrack, redoing quite a lot of the work we'd already done; we still decided to take on this extra work because we felt that the benefits outweighed the cost by a large margin. And as we said at the end of the preceding chapter, rather than just doing the work privately and then presenting the improved design to you, this time we wanted to let you in on the entire procedure.