Chapter 17:
- Several classes are extracted from Main to simplify it dramatically.