class ProducerInvocationFlow {

  public void run() {
    CompletableFuture.completedFuture(null)
        .thenApply(v -> invocationCreator.create())
        .exceptionally(this::sendCreateInvocationException)
        .thenAccept(this::tryRunInvocation);
  }

  public  ProducerInvocationFlow(InvocationCreator invocationCreator);
  public  ProducerInvocationFlow(InvocationCreator invocationCreator,
      HttpServletRequestEx requestEx, HttpServletResponseEx responseEx);

}