Because the library is becoming more and more complex, we need to add tests, coverage checking and CI.