Added a set of abstractions for flow rule subsystem.
Added an apps source subtree.
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
index a483d92..76689c2 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
@@ -3,33 +3,23 @@
 import org.onlab.onos.net.provider.ProviderService;
 
 /**
- * Service through which flowrule providers can inject flowrule information into
+ * Service through which flow rule providers can inject information into
  * the core.
  */
 public interface FlowRuleProviderService extends ProviderService<FlowRuleProvider> {
 
     /**
-     * Signals that a flow that was previously installed has been removed.
+     * Signals that a flow rule that was previously installed has been removed.
      *
-     * @param flowDescription information about the removed flow
+     * @param flowRule information about the removed flow
      */
-    void flowRemoved(FlowDescription flowDescription);
+    void flowRemoved(FlowRule flowRule);
 
     /**
-     * Signals that a flowrule is missing for some network traffic.
+     * Signals that a flow rule is missing for some network traffic.
      *
-     * @param flowDescription information about traffic in need of flow rule(s)
+     * @param flowRule information about traffic in need of flow rule(s)
      */
-    void flowMissing(FlowDescription flowDescription);
-
-    /**
-     * Signals that a flowrule has been added.
-     *
-     * TODO  think about if this really makes sense, e.g. if stats collection or
-     * something can leverage it.
-     *
-     * @param flowDescription the rule that was added
-     */
-    void flowAdded(FlowDescription flowDescription);
+    void flowMissing(FlowRule flowRule);
 
 }