diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java
index 53c08e5..03acb16 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java
@@ -26,15 +26,13 @@
 import com.googlesource.gerrit.plugins.kafka.message.GsonProvider;
 import com.googlesource.gerrit.plugins.kafka.message.PublisherFactory;
 import com.googlesource.gerrit.plugins.kafka.session.KafkaSessionFactory;
-import com.googlesource.gerrit.plugins.kafka.session.SessionFactoryProvider;
 import com.googlesource.gerrit.plugins.kafka.worker.DefaultEventWorker;
 
 class Module extends FactoryModule {
 
   @Override
   protected void configure() {
-    bind(KafkaSessionFactory.class).toProvider(SessionFactoryProvider.class);
-
+    factory(KafkaSessionFactory.class);
     factory(PublisherFactory.class);
     bind(KafkaProperties.class).toProvider(KafkaPropertiesProvider.class)
         .in(Singleton.class);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java
index 7fa4752..8372f15 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java
@@ -22,7 +22,7 @@
 
 import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties;
 import com.googlesource.gerrit.plugins.kafka.session.KafkaSession;
-import com.googlesource.gerrit.plugins.kafka.session.SessionFactoryProvider;
+import com.googlesource.gerrit.plugins.kafka.session.KafkaSessionFactory;
 
 public class Publisher implements EventListener {
 
@@ -33,10 +33,10 @@
 
   @Inject
   public Publisher(
-      SessionFactoryProvider sessionFactoryProvider,
+      KafkaSessionFactory kafkaSessionFactory,
       Gson gson,
       @Assisted KafkaProperties properties) {
-    this.session = sessionFactoryProvider.get().create(properties);
+    this.session = kafkaSessionFactory.create(properties);
     this.properties = properties;
     this.gson = gson;
   }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java
index 9b7717d..2abfffa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java
@@ -14,6 +14,8 @@
 
 package com.googlesource.gerrit.plugins.kafka.session;
 
+import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
 import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties;
 import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.Producer;
@@ -28,7 +30,8 @@
   private final KafkaProperties properties;
   private volatile Producer<String, String> producer;
 
-  public KafkaSession(KafkaProperties properties) {
+  @Inject
+  public KafkaSession(@Assisted KafkaProperties properties) {
     this.properties = properties;
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java
index 3a13721..c002b5c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java
@@ -16,8 +16,6 @@
 
 import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties;
 
-public class KafkaSessionFactory {
-  public KafkaSession create(KafkaProperties properties) {
-    return new KafkaSession(properties);
-  }
+public interface KafkaSessionFactory {
+  KafkaSession create(KafkaProperties properties);
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java
deleted file mode 100644
index 0a869be..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2016 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.googlesource.gerrit.plugins.kafka.session;
-
-import com.google.inject.Provider;
-
-public class SessionFactoryProvider implements Provider<KafkaSessionFactory> {
-
-  @Override
-  public KafkaSessionFactory get() {
-    return new KafkaSessionFactory();
-  }
-}
