Small refactor.
Functional decomposition.
Large refactor.
Add class diagram.