diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
index 97fa4b5..80f0d0b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
@@ -5,6 +5,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
 import net.floodlightcontroller.core.module.FloodlightModuleException;
@@ -25,6 +26,7 @@
 	private IDatagridService datagridService;
 	private IControllerRegistryService registryService;
 
+	private CopyOnWriteArrayList<INetworkGraphListener> networkGraphListeners;
 
 	private IRestApiService restApi;
 
@@ -61,7 +63,8 @@
 		datagridService = context.getServiceImpl(IDatagridService.class);
 		registryService = context.getServiceImpl(IControllerRegistryService.class);
 
-		networkGraph = new NetworkGraphImpl(registryService);
+		networkGraphListeners = new CopyOnWriteArrayList<>();
+		networkGraph = new NetworkGraphImpl(registryService, networkGraphListeners);
 		//southboundNetworkGraph = new NetworkGraphDatastore(networkGraph);
 	}
 
@@ -81,4 +84,14 @@
 		return networkGraph;
 	}
 
+	@Override
+	public void registerNetworkGraphListener(INetworkGraphListener listener) {
+	    networkGraphListeners.addIfAbsent(listener);
+	}
+
+	@Override
+	public void deregisterNetworkGraphListener(INetworkGraphListener listener) {
+	    networkGraphListeners.remove(listener);
+	}
+
 }
