Refactor code.
Extract classes.
Refactor.
Documentation.
Documentation and refactor.
Refactor.
Documentation.
Documentation and refactor.
Documentation.
Documentation.