Update Changes/Dist.ini/generated files
Tidy, Critic, etc
Refactor internals to a new module
Update tests for API change
Update changes
tidy && critic
Add layout diagram