Walkthroughs

Useful tips:
- Do not overburden the "system" class with too many responsibilities.
- Keep the "system" class real.
- Avoid "mission creep". Divide work to new classes.
- Keep high cohesion. Responsibilities must be related.
- Avoid adding useless responsibilities.
- Eliminate classes that do not contribute to the solution.