Added some tests to make sure the classes implements the right interfaces and that the classes are final.