diff --git a/pom.xml b/pom.xml
index 4a97aab..68dd601 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 
     <groupId>com.gerritforge</groupId>
     <artifactId>events-broker</artifactId>
-    <version>3.3.2</version>
+    <version>3.4.0-rc0</version>
     <packaging>jar</packaging>
 
     <name>events-broker</name>
@@ -39,7 +39,7 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <auto-value.version>1.7.4</auto-value.version>
-        <gerrit.version>3.3.1</gerrit.version>
+        <gerrit.version>3.4.0-rc0</gerrit.version>
     </properties>
 
     <dependencies>
diff --git a/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java b/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
index bf55621..be548fa 100644
--- a/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
+++ b/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
@@ -15,9 +15,8 @@
 package com.gerritforge.gerrit.eventbroker;
 
 import com.google.common.base.Supplier;
-import com.google.gerrit.entities.Change;
+import com.google.gerrit.entities.EntitiesAdapterFactory;
 import com.google.gerrit.entities.Project;
-import com.google.gerrit.server.change.ChangeKeyAdapter;
 import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.EventDeserializer;
 import com.google.gerrit.server.events.EventTypes;
@@ -53,7 +52,7 @@
     }
   }
 
-  public class ProjectNameKeyDeserializer implements JsonDeserializer<Project.NameKey> {
+  public static class ProjectNameKeyDeserializer implements JsonDeserializer<Project.NameKey> {
 
     @Override
     public Project.NameKey deserialize(
@@ -78,8 +77,8 @@
         .registerTypeAdapter(Event.class, new EventSerializer())
         .registerTypeAdapter(Supplier.class, new SupplierSerializer())
         .registerTypeAdapter(Supplier.class, new SupplierDeserializer())
-        .registerTypeAdapter(Change.Key.class, new ChangeKeyAdapter())
         .registerTypeAdapter(Project.NameKey.class, new ProjectNameKeyAdapter())
+        .registerTypeAdapterFactory(EntitiesAdapterFactory.create())
         .create();
   }
 }
diff --git a/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java b/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
index 894e4ed..c8daa0e 100644
--- a/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
+++ b/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
@@ -89,7 +89,7 @@
     }
   }
 
-  private class EventBusMessageRecorder {
+  private static class EventBusMessageRecorder {
     private EvictingQueue messagesQueue;
 
     public EventBusMessageRecorder(EvictingQueue messagesQueue) {
