Adding event sink & dispatcher abstractions.
Increased strength of the provider & service types.
diff --git a/net/api/src/main/java/org/onlab/onos/event/EventDispatcher.java b/net/api/src/main/java/org/onlab/onos/event/EventDispatcher.java
new file mode 100644
index 0000000..a9db575
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/event/EventDispatcher.java
@@ -0,0 +1,17 @@
+package org.onlab.onos.event;
+
+/**
+ * Abstraction of a mechanism capable of accepting and dispatching events.
+ * Whether the events are accepted and the dispatched synchronously or
+ * asynchronously is unspecified.
+ */
+public interface EventDispatcher<E extends Event> {
+
+    /**
+     * Posts the specified event for dispatching.
+     *
+     * @param event event to be posted
+     */
+    void post(E event);
+
+}