Latest changes to the whole refactoring. Quite proud about the design,
implementation and code coverage