diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/ClusterMessagingProtocolClient.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/ClusterMessagingProtocolClient.java
index be0da20..855d58c 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/ClusterMessagingProtocolClient.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/ClusterMessagingProtocolClient.java
@@ -85,7 +85,7 @@
         return CompletableFuture.completedFuture(null);
     }
 
-    public <I> MessageSubject messageType(I input) {
+    private <I> MessageSubject messageType(I input) {
         Class<?> clazz = input.getClass();
         if (clazz.equals(PollRequest.class)) {
             return ClusterMessagingProtocol.COPYCAT_POLL;
@@ -117,7 +117,7 @@
             this.request = request;
             this.message =
                     new ClusterMessage(
-                            null,
+                            null, // FIXME fill in proper sender
                             messageType(request),
                             ClusterMessagingProtocol.SERIALIZER.encode(request));
             this.future = future;
