Attempt at enforcing interfaces using test suites run against multiple implementations
Refactor tests into new format for interfaces