Chapter 4. The Adapter Pattern