Adding some base-classes to eliminate event and listener boiler-plate code throughout a number of subsystems.

Refactored all core components to take advantage of this; apps remain to be done.

Change-Id: Ib0935ba07ff81b0fa032534004ec9ac6187cbf22
diff --git a/core/net/src/test/java/org/onosproject/cluster/impl/MastershipManagerTest.java b/core/net/src/test/java/org/onosproject/cluster/impl/MastershipManagerTest.java
index 477c7c4..bf1a1ff 100644
--- a/core/net/src/test/java/org/onosproject/cluster/impl/MastershipManagerTest.java
+++ b/core/net/src/test/java/org/onosproject/cluster/impl/MastershipManagerTest.java
@@ -41,6 +41,7 @@
 import static org.onosproject.net.MastershipRole.MASTER;
 import static org.onosproject.net.MastershipRole.NONE;
 import static org.onosproject.net.MastershipRole.STANDBY;
+import static org.onosproject.net.NetTestTools.injectEventDispatcher;
 
 /**
  * Test codifying the mastership service contracts.
@@ -60,7 +61,7 @@
     public void setUp() {
         mgr = new MastershipManager();
         service = mgr;
-        mgr.eventDispatcher = new TestEventDispatcher();
+        injectEventDispatcher(mgr, new TestEventDispatcher());
         mgr.clusterService = new TestClusterService();
         mgr.store = new TestSimpleMastershipStore(mgr.clusterService);
         mgr.activate();
@@ -70,7 +71,7 @@
     public void tearDown() {
         mgr.deactivate();
         mgr.clusterService = null;
-        mgr.eventDispatcher = null;
+        injectEventDispatcher(mgr, null);
         mgr.store = null;
     }