Chapter 8 Exercise 2 - Decouple tests from implementation details and organize into modules.