Chapter 10. Python Design Patterns I