class KeyValueServiceCoordinationStore implements CoordinationStore<T> {

    @Override
    public Optional<ValueAndBound<T>> getAgreedValue() {
        return readLatestState().map(CoordinationStoreState::valueAndBound);
    }

    @VisibleForTesting  KeyValueServiceCoordinationStore(
            ObjectMapper objectMapper,
            KeyValueService kvs,
            byte[] coordinationRow,
            LongSupplier sequenceNumberSupplier,
            BiPredicate<T, T> shouldReuseExtantValue,
            Class<T> clazz);

}