Interfaces in Java should be default-impl-by-abstract, it's so much better for testing and mocking.