diff --git a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
index 6831578..159dbb0 100644
--- a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
+++ b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
@@ -58,7 +58,7 @@
     private final SimpleTopologyStore store = new SimpleTopologyStore();
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    private EventDeliveryService eventDispatcher;
+    protected EventDeliveryService eventDispatcher;
 
 
     @Activate
@@ -151,10 +151,10 @@
     }
 
     @Override
-    public boolean isInBroadcastTree(Topology topology, ConnectPoint connectPoint) {
+    public boolean isBroadcastPoint(Topology topology, ConnectPoint connectPoint) {
         checkNotNull(topology, TOPOLOGY_NULL);
         checkNotNull(connectPoint, CONNECTION_POINT_NULL);
-        return store.isInBroadcastTree(defaultTopology(topology), connectPoint);
+        return store.isBroadcastPoint(defaultTopology(topology), connectPoint);
     }
 
     @Override
diff --git a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyStore.java b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyStore.java
index f432ade..b51ea53 100644
--- a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyStore.java
+++ b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyStore.java
@@ -136,13 +136,14 @@
     }
 
     /**
-     * Indicates whether the given connect point is part of the broadcast tree.
+     * Indicates whether broadcast is allowed for traffic received on the
+     * given connection point.
      *
      * @param topology     topology descriptor
      * @param connectPoint connection point
-     * @return true if in broadcast tree; false otherwise
+     * @return true if broadcast allowed; false otherwise
      */
-    boolean isInBroadcastTree(DefaultTopology topology, ConnectPoint connectPoint) {
+    boolean isBroadcastPoint(DefaultTopology topology, ConnectPoint connectPoint) {
         return topology.isInBroadcastTree(connectPoint);
     }
 
