Cleaned up some of the host-related abstractions and filled in more of the host manager implementation.
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
index ed94522..9ffa58a 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
@@ -2,8 +2,10 @@
 
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.ElementId;
 import org.onlab.onos.net.Host;
+import org.onlab.onos.net.HostId;
+import org.onlab.packet.IPv4;
+import org.onlab.packet.MACAddress;
 
 import java.util.Set;
 
@@ -13,6 +15,13 @@
 public interface HostService {
 
     /**
+     * Returns the number of end-station hosts known to the system.
+     *
+     * @return number of end-station hosts
+     */
+    public int getHostCount();
+
+    /**
      * Returns a collection of all end-station hosts.
      *
      * @return collection of hosts
@@ -25,12 +34,32 @@
      * @param hostId host identifier
      * @return host or null if one with the given identifier is not known
      */
-    Host getHost(ElementId hostId); // TODO: change to HostId
+    Host getHost(HostId hostId);
 
-    // TODO: determine which ones make sense or which we care to support
-    // Set<Host> getHostsByVlan(VlanId vlan);
-    // Set<Host> getHostsByMac(MacAddress mac);
-    // Set<Host> getHostsByIp(IpAddress ip);
+    /**
+     * Returns the set of hosts that belong to the specified VLAN.
+     *
+     * @param vlanId vlan identifier
+     * @return set of hosts in the given vlan id
+     */
+    // FIXME: change long to VLanId
+    Set<Host> getHostsByVlan(long vlanId);
+
+    /**
+     * Returns the set of hosts that have the specified MAC address.
+     *
+     * @param mac mac address
+     * @return set of hosts with the given mac
+     */
+    Set<Host> getHostsByMac(MACAddress mac);
+
+    /**
+     * Returns the set of hosts that have the specified IP address.
+     *
+     * @param ip ip address
+     * @return set of hosts with the given IP
+     */
+    Set<Host> getHostsByIp(IPv4 ip);
 
     /**
      * Returns the set of hosts whose most recent location is the specified