Tidied up pom and refactored tests a bit into an abstract pattern where all representations can be run through the same test cases.