diff --git a/tools/test/topos/regions-bayarea.sh b/tools/test/topos/regions-bayarea.sh
index 6ecdcde..c73cd3e 100755
--- a/tools/test/topos/regions-bayarea.sh
+++ b/tools/test/topos/regions-bayarea.sh
@@ -283,6 +283,7 @@
 log:set DEBUG org.onosproject.ui.impl.topo.Topo2ViewMessageHandler
 log:set DEBUG org.onosproject.ui.impl.topo.Topo2Jsonifier
 log:set DEBUG org.onosproject.ui.impl.UiWebSocket
+log:set DEBUG org.onosproject.ui.impl.UiTopoSession
 log:list
 
 EOF
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
index 15332d4..c9e29b9 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
@@ -41,6 +41,7 @@
 import org.onosproject.net.statistic.StatisticService;
 import org.onosproject.net.topology.TopologyService;
 import org.onosproject.ui.JsonUtils;
+import org.onosproject.ui.impl.topo.model.UiModelEvent;
 import org.onosproject.ui.model.topo.UiClusterMember;
 import org.onosproject.ui.model.topo.UiDevice;
 import org.onosproject.ui.model.topo.UiHost;
@@ -79,6 +80,8 @@
     private static final String REGION = "region";
     private static final String DEVICE = "device";
     private static final String HOST = "host";
+    private static final String TYPE = "type";
+    private static final String SUBJECT = "subject";
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -263,6 +266,18 @@
         return result;
     }
 
+    private ObjectNode jsonEvent(UiModelEvent modelEvent) {
+        ObjectNode payload = objectNode();
+        payload.put(TYPE, enumToString(modelEvent.type()));
+        payload.put(SUBJECT, modelEvent.subject().idAsString());
+        return payload;
+    }
+
+    // TODO: Investigate why we can't do this inline
+    private String enumToString(Enum<?> e) {
+        return e.toString();
+    }
+
     // Returns the name of the master node for the specified device id.
     private String master(DeviceId deviceId) {
         NodeId master = mastershipService.getMasterFor(deviceId);
