@@ -0,0 +1,823 @@
+package io.fluxcapacitor.javaclient.tracking;%0A%0Aimport io.fluxcapacitor.common.api.tracking.MessageBatch;%0A%0Aimport java.util.function.Consumer;%0A%0Apublic interface TransactionManager extends BatchInterceptor %7B%0A%0A    Transaction startTransaction();%0A%0A    default void executeInTransaction(Runnable task) %7B%0A        Transaction transaction = startTransaction();%0A        try %7B%0A            task.run();%0A            transaction.commit();%0A        %7D catch (Throwable e) %7B%0A            transaction.rollback();%0A            throw e;%0A        %7D%0A    %7D%0A%0A    @Override%0A    default Consumer%3CMessageBatch%3E intercept(Consumer%3CMessageBatch%3E consumer, Tracker tracker) %7B%0A        return messageBatch -%3E executeInTransaction(() -%3E consumer.accept(messageBatch));%0A    %7D%0A%0A    interface Transaction %7B%0A        void commit();%0A        void rollback();%0A    %7D%0A%7D%0A

Add TransactionManager interface