diff --git a/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java b/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
index 10b008e..9656013 100644
--- a/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
+++ b/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
@@ -11,7 +11,6 @@
  * Interface to reference internal self-contained elements.
  */
 public interface TopologyInternal extends Topology {
-
     /**
      * Gets a SwitchEvent.
      *
@@ -21,6 +20,13 @@
     public SwitchEvent getSwitchEvent(Dpid dpid);
 
     /**
+     * Gets all SwitchEvent entries.
+     *
+     * @return all SwitchEvent entries.
+     */
+    public Collection<SwitchEvent> getAllSwitchEvents();
+
+    /**
      * Gets a PortEvent.
      *
      * @param port Port identifier
@@ -29,6 +35,13 @@
     public PortEvent getPortEvent(SwitchPort port);
 
     /**
+     * Gets all PortEvent entries.
+     *
+     * @return all PortEvent entries.
+     */
+    public Collection<PortEvent> getAllPortEvents();
+
+    /**
      * Gets a LinkEvent.
      *
      * @param linkId Link identifier
@@ -46,14 +59,21 @@
     public LinkEvent getLinkEvent(final LinkTuple linkId, final String type);
 
     /**
-     * Gets a LinkEvent.
+     * Gets a collection of LinkEvent entries.
      *
      * @param linkId Link identifier
-     * @return Collection of LinkEvent
+     * @return Collection of LinkEvent entries.
      */
     public Collection<LinkEvent> getLinkEvents(LinkTuple linkId);
 
     /**
+     * Gets all LinkEvent entries.
+     *
+     * @return all LinkEvent entries.
+     */
+    public Collection<LinkEvent> getAllLinkEvents();
+
+    /**
      * Gets a HostEvent.
      *
      * @param mac MACAddress of the host
@@ -61,4 +81,10 @@
      */
     public HostEvent getHostEvent(MACAddress mac);
 
+    /**
+     * Gets all HostEvent entries.
+     *
+     * @return all HostEvent entries.
+     */
+    public Collection<HostEvent> getAllHostEvents();
 }
