@Override
 public void configure(StateMachineExecutor executor) {
   this.executor = executor;
   executor.register(
       InstanceOperation.class,
       (Function<Commit<InstanceOperation>, Object>) this::operateResource);
   executor.register(GetResource.class, this::getResource);
   executor.register(GetResourceIfExists.class, this::getResourceIfExists);
   executor.register(CloseResource.class, this::closeResource);
   executor.register(DeleteResource.class, this::deleteResource);
   executor.register(ResourceExists.class, this::resourceExists);
   executor.register(GetResourceKeys.class, this::getResourceKeys);
 }
 @Override
 public CompletableFuture<Void> execute(Runnable callback) {
   return parent.execute(callback);
 }
 @Override
 public <T> CompletableFuture<T> execute(Supplier<T> callback) {
   return parent.execute(callback);
 }
 @Override
 public Executor executor() {
   return parent.executor();
 }
 @Override
 public Serializer serializer() {
   return parent.serializer();
 }
 @Override
 public StateMachineContext context() {
   return parent.context();
 }
 @Override
 public Scheduled schedule(Duration initialDelay, Duration interval, Runnable callback) {
   Scheduled task = parent.schedule(initialDelay, interval, callback);
   tasks.add(task);
   return task;
 }
 @Override
 public Scheduled schedule(Duration delay, Runnable callback) {
   Scheduled task = parent.schedule(delay, callback);
   tasks.add(task);
   return task;
 }