diff --git a/README.adoc b/README.adoc
index 44ccb4a..79407cf 100644
--- a/README.adoc
+++ b/README.adoc
@@ -49,7 +49,7 @@
     <dependency>
       <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
       <artifactId>quarkus-googlecloud-jsonlogging</artifactId>
-      <version>3.1.0</version>
+      <version>4.0.0</version>
     </dependency>
 
     ...
@@ -67,7 +67,7 @@
 dependencies {
   ...
 
-  implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging:3.1.0")
+  implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging:4.0.0")
 
   ...
 }
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..86656ae
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
+    <artifactId>quarkus-googlecloud-jsonlogging-parent</artifactId>
+    <version>3.1.4-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>quarkus-googlecloud-jsonlogging-core</artifactId>
+  <name>Quarkus Google Cloud JSON Logging Extension - JBoss Logging Core</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.logmanager</groupId>
+      <artifactId>jboss-logmanager-embedded</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.smallrye.common</groupId>
+      <artifactId>smallrye-common-constraint</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>jakarta.json</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestEntries>
+              <Automatic-Module-Name>eu.mulk.quarkus.googlecloud.jsonlogging.core</Automatic-Module-Name>
+            </manifestEntries>
+          </archive>
+        </configuration>
+      </plugin>
+
+    </plugins>
+  </build>
+
+</project>
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
similarity index 100%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
similarity index 100%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Label.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Label.java
similarity index 100%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Label.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Label.java
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java
similarity index 78%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java
index dbd035c..8cf87db 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java
+++ b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LabelProvider.java
@@ -5,7 +5,11 @@
 /**
  * A user-supplied provider for {@link Label}s.
  *
- * <p>Any CDI beans registered under this class are applied to each log entry that is logged.
+ * <p>Instances of this interface that are registered with the {@link Formatter} are applied to each
+ * log entry that is logged.
+ *
+ * <p>If you are using the Quarkus extension, any CDI beans registered under this interface are
+ * registered automatically.
  *
  * <p><strong>Example:</strong>
  *
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LogEntry.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LogEntry.java
similarity index 100%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LogEntry.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/LogEntry.java
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameter.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameter.java
similarity index 100%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameter.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameter.java
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java
similarity index 83%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java
index cacfea6..decf937 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java
+++ b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/StructuredParameterProvider.java
@@ -3,7 +3,11 @@
 /**
  * A user-supplied provider for {@link StructuredParameter}s.
  *
- * <p>Any CDI beans registered under this class are applied to each log entry that is logged.
+ * <p>Instances of this interface that are registered with the {@link Formatter} are applied to each
+ * log entry that is logged.
+ *
+ * <p>If you are using the Quarkus extension, any CDI beans registered under this interface are
+ * registered automatically.
  *
  * <p><strong>Example:</strong>
  *
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java
similarity index 81%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java
rename to core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java
index 110ab73..2f4c7ce 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java
+++ b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/package-info.java
@@ -17,17 +17,17 @@
  * <p>It is possible to log unstructured text, structured data, or a mixture of both depending on
  * the situation.
  *
- * <h2 id="sect-activation">Activation</h2>
+ * <h2 id="sect-activation">Installation</h2>
  *
  * <ul>
- *   <li><a href="#sect-activation-maven">Activation with Maven</a>
- *   <li><a href="#sect-activation-gradle">Activation with Gradle</a>
+ *   <li><a href="#sect-installation-maven">Installation with Maven</a>
+ *   <li><a href="#sect-installation-gradle">Installation with Gradle</a>
  * </ul>
  *
  * <p>Add the runtime POM to your dependency list. As long as the JAR is on the classpath at both
  * build time and runtime, the log formatter automatically registers itself on startup.
  *
- * <h3 id="sect-activation-maven">Activation with Maven</h3>
+ * <h3 id="sect-installation-maven">Installation with Maven</h3>
  *
  * <pre>{@code
  * <project>
@@ -38,8 +38,8 @@
  *
  *     <dependency>
  *       <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
- *       <artifactId>quarkus-googlecloud-jsonlogging</artifactId>
- *       <version>3.1.0</version>
+ *       <artifactId>quarkus-googlecloud-jsonlogging-core</artifactId>
+ *       <version>4.0.0</version>
  *     </dependency>
  *
  *     ...
@@ -49,13 +49,13 @@
  * </project>
  * }</pre>
  *
- * <h3 id="sect-activation-gradle">Activation with Gradle</h3>
+ * <h3 id="sect-installation-gradle">Installation with Gradle</h3>
  *
  * <pre>{@code
  * dependencies {
  *   ...
  *
- *   implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging:3.1.0")
+ *   implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging-core:4.0.0")
  *
  *   ...
  * }
@@ -117,11 +117,14 @@
  *
  * <h3 id="sect-usage-provider">Using LabelProvider and StructuredParameterProvider</h3>
  *
- * <p>Any CDI beans that implement {@link eu.mulk.quarkus.googlecloud.jsonlogging.LabelProvider}s
- * and {@link eu.mulk.quarkus.googlecloud.jsonlogging.StructuredParameterProvider}s are discovered
- * at build time and consulted to provide labels and parameters for each message that is logged.
- * This can be used to provide contextual information such as tracing and request IDs stored in
- * thread-local storage.
+ * <p>If you pass {@link eu.mulk.quarkus.googlecloud.jsonlogging.LabelProvider}s and {@link
+ * eu.mulk.quarkus.googlecloud.jsonlogging.StructuredParameterProvider}s to {@link
+ * eu.mulk.quarkus.googlecloud.jsonlogging.Formatter}, then they are consulted to provide labels and
+ * parameters for each message that is logged. This can be used to provide contextual information
+ * such as tracing and request IDs stored in thread-local storage.
+ *
+ * <p>If you are using the Quarkus extension, CDI beans that implement these interfaces are
+ * automatically detected at build time and passed to the formatter on startup.
  *
  * <p><strong>Example:</strong>
  *
diff --git a/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java b/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
index aea89b9..668128f 100644
--- a/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
+++ b/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
@@ -1,6 +1,6 @@
 package eu.mulk.quarkus.googlecloud.jsonlogging.deployment;
 
-import eu.mulk.quarkus.googlecloud.jsonlogging.GoogleCloudJsonLoggingRecorder;
+import eu.mulk.quarkus.googlecloud.jsonlogging.runtime.GoogleCloudJsonLoggingRecorder;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
diff --git a/example/pom.xml b/example/pom.xml
index c5c82b2..546a47c 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
     <artifactId>quarkus-googlecloud-jsonlogging-parent</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <version>3.1.4-SNAPSHOT</version>
   </parent>
 
   <artifactId>quarkus-googlecloud-jsonlogging-example</artifactId>
diff --git a/pom.xml b/pom.xml
index 0e7c39a..caf627f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,7 @@
   </scm>
 
   <modules>
+    <module>core</module>
     <module>deployment</module>
     <module>runtime</module>
   </modules>
@@ -54,12 +55,13 @@
 
     <compiler-plugin.version>3.8.1</compiler-plugin.version>
     <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
-    <jar-plugin.version>3.2.0</jar-plugin.version>
+    <google-java-format.version>1.13.0</google-java-format.version>
+    <jar-plugin.version>3.2.2</jar-plugin.version>
     <maven-gpg-plugin.version>1.5</maven-gpg-plugin.version>
     <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
     <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
     <nexus-staging-plugin.version>1.6.8</nexus-staging-plugin.version>
-    <spotless-plugin.version>2.11.0</spotless-plugin.version>
+    <spotless-plugin.version>2.19.0</spotless-plugin.version>
     <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
 
     <quarkus.version>1.13.3.Final</quarkus.version>
@@ -147,7 +149,7 @@
               <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
             </importOrder>
             <googleJavaFormat>
-              <version>${google.java.format.version}</version>
+              <version>${google-java-format.version}</version>
               <style>GOOGLE</style>
             </googleJavaFormat>
           </java>
diff --git a/runtime/pom.xml b/runtime/pom.xml
index 01c2c2c..beb4bcc 100644
--- a/runtime/pom.xml
+++ b/runtime/pom.xml
@@ -15,6 +15,12 @@
 
   <dependencies>
     <dependency>
+      <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
+      <artifactId>quarkus-googlecloud-jsonlogging-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <dependency>
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-arc</artifactId>
     </dependency>
@@ -63,11 +69,10 @@
 
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
-        <version>${jar-plugin.version}</version>
         <configuration>
           <archive>
             <manifestEntries>
-              <Automatic-Module-Name>eu.mulk.quarkus.googlecloud.jsonlogging</Automatic-Module-Name>
+              <Automatic-Module-Name>eu.mulk.quarkus.googlecloud.jsonlogging.runtime</Automatic-Module-Name>
             </manifestEntries>
           </archive>
         </configuration>
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/GoogleCloudJsonLoggingRecorder.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
similarity index 81%
rename from runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/GoogleCloudJsonLoggingRecorder.java
rename to runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
index 7234a71..661b69f 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/GoogleCloudJsonLoggingRecorder.java
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
@@ -1,5 +1,8 @@
-package eu.mulk.quarkus.googlecloud.jsonlogging;
+package eu.mulk.quarkus.googlecloud.jsonlogging.runtime;
 
+import eu.mulk.quarkus.googlecloud.jsonlogging.Formatter;
+import eu.mulk.quarkus.googlecloud.jsonlogging.LabelProvider;
+import eu.mulk.quarkus.googlecloud.jsonlogging.StructuredParameterProvider;
 import io.quarkus.arc.Arc;
 import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.Recorder;
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/package-info.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/package-info.java
new file mode 100644
index 0000000..2fa7499
--- /dev/null
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/package-info.java
@@ -0,0 +1,71 @@
+/**
+ * Provides structured logging to standard output according to the Google Cloud Logging
+ * specification.
+ *
+ * <ul>
+ *   <li><a href="#sect-summary">Summary</a>
+ *   <li><a href="#sect-activation">Activation</a>
+ *   <li><a href="#sect-usage">Usage</a>
+ * </ul>
+ *
+ * <h2 id="sect-summary">Summary</h2>
+ *
+ * <p>This package contains a log formatter for JBoss Logging in the form of a Quarkus plugin that
+ * implements the <a href="https://cloud.google.com/logging/docs/structured-logging">Google Cloud
+ * Logging JSON format</a> on standard output.
+ *
+ * <p>It is possible to log unstructured text, structured data, or a mixture of both depending on
+ * the situation.
+ *
+ * <h2 id="sect-activation">Activation</h2>
+ *
+ * <ul>
+ *   <li><a href="#sect-activation-maven">Activation with Maven</a>
+ *   <li><a href="#sect-activation-gradle">Activation with Gradle</a>
+ * </ul>
+ *
+ * <p>Add the runtime POM to your dependency list. As long as the JAR is on the classpath at both
+ * build time and runtime, the log formatter automatically registers itself on startup.
+ *
+ * <h3 id="sect-activation-maven">Activation with Maven</h3>
+ *
+ * <pre>{@code
+ * <project>
+ *   ...
+ *
+ *   <dependencies>
+ *     ...
+ *
+ *     <dependency>
+ *       <groupId>eu.mulk.quarkus-googlecloud-jsonlogging</groupId>
+ *       <artifactId>quarkus-googlecloud-jsonlogging</artifactId>
+ *       <version>4.0.0</version>
+ *     </dependency>
+ *
+ *     ...
+ *   </dependencies>
+ *
+ *   ...
+ * </project>
+ * }</pre>
+ *
+ * <h3 id="sect-activation-gradle">Activation with Gradle</h3>
+ *
+ * <pre>{@code
+ * dependencies {
+ *   ...
+ *
+ *   implementation("eu.mulk.quarkus-googlecloud-jsonlogging:quarkus-googlecloud-jsonlogging:4.0.0")
+ *
+ *   ...
+ * }
+ * }</pre>
+ *
+ * <h2 id="sect-usage">Usage</h2>
+ *
+ * <p>See the documentation of the {@link eu.mulk.quarkus.googlecloud.jsonlogging} package for usage
+ * instructions.
+ *
+ * @see eu.mulk.quarkus.googlecloud.jsonlogging
+ */
+package eu.mulk.quarkus.googlecloud.jsonlogging.runtime;
