diff --git a/pom.xml b/pom.xml
index 83512bc..065044a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   </parent>
 
   <artifactId>org.apache.sling.commons.content.processing</artifactId>
-  <version>1.0.1-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
 
   <name>Apache Sling Commons Content Processing</name>
   <description>Apache Sling Commons Content Processing</description>
diff --git a/src/main/java/org/apache/sling/commons/content/processing/ContentProcessor.java b/src/main/java/org/apache/sling/commons/content/processing/ContentProcessor.java
index 2e1b5b9..1f3cd10 100644
--- a/src/main/java/org/apache/sling/commons/content/processing/ContentProcessor.java
+++ b/src/main/java/org/apache/sling/commons/content/processing/ContentProcessor.java
@@ -22,6 +22,7 @@
 import java.io.OutputStream;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
+import java.util.function.Supplier;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -36,12 +37,12 @@
     /**
      * Processes the given content.
      *
-     * @param input      the stream from which the content is read for processing
-     * @param output     the stream into which the content is written during or after processing
+     * @param input      the supplier of the stream from which the content is read for processing
+     * @param output     the supplier of the stream into which the content is written during or after processing
      * @param parameters the parameters for the processing operation
      * @param report     the report to which the findings of the processing operation are added
      * @return {@link java.util.concurrent.CompletableFuture} for signaling completion
      */
-    public abstract @NotNull CompletableFuture<Void> process(@NotNull final InputStream input, @NotNull final OutputStream output, @Nullable final Map<String, Object> parameters, @NotNull final Map<String, Object> report);
+    public abstract @NotNull CompletableFuture<Void> process(@NotNull final Supplier<InputStream> input, @NotNull final Supplier<OutputStream> output, @Nullable final Map<String, Object> parameters, @NotNull final Map<String, Object> report);
 
 }
diff --git a/src/main/java/org/apache/sling/commons/content/processing/package-info.java b/src/main/java/org/apache/sling/commons/content/processing/package-info.java
index ac8a67f..42b265b 100644
--- a/src/main/java/org/apache/sling/commons/content/processing/package-info.java
+++ b/src/main/java/org/apache/sling/commons/content/processing/package-info.java
@@ -20,7 +20,7 @@
 /**
  * Provides the Apache Sling Commons Content Processing API.
  */
-@Version("1.0.0")
+@Version("2.0.0")
 package org.apache.sling.commons.content.processing;
 
 import org.osgi.annotation.versioning.Version;
