1.19.0
Update license headers
Changing code to use interfaces instead of implementations.
Migrate to JUnit5