Move implementation details to separate packages.
Rewrote routine processing
Gradle: fixes jacoco reports.
Gradle: default tasks