Add __call__ method to LazyRegistry.
Implemented checks in testsuite to assert that warnings are only emmited when expected.

Each test class captures the logging output for warnings and check at tear down that
there was not a warning. If any warning is expected you must explicitly capture within
the test using `with self.capture_log() as buffer:`