JUnit-5 contract interfaces that every concrete implementation of
the Phase-2 persistence stores must satisfy. Consumers (the
in-memory defaults and the Eclipse-Store-backed implementations
alike) write one tiny adapter class per store that returns a
freshly-constructed instance from newStore(); JUnit picks up the
@Test default methods of the contract interface as test methods on
the adapter.