@Override
    public void remove(UK key) throws Exception {
        delegatedState.remove(key);
        changeLogger.valueElementRemoved(out -> serializeKey(key, out), getCurrentNamespace());
    }
@Test
    public void testRemoveRecorded() throws Exception {
        testRecorded(
                singletonMap("x", "y"),
                state -> state.remove("x"),
                logger -> assertTrue(logger.stateElementRemoved));
    }