Added prox test cell and enhanced install to allow customization of the hazelcast.xml for proper network interface.
diff --git a/apps/foo/src/main/java/org/onlab/onos/foo/FooComponent.java b/apps/foo/src/main/java/org/onlab/onos/foo/FooComponent.java
index b9251dd..1fafc32 100644
--- a/apps/foo/src/main/java/org/onlab/onos/foo/FooComponent.java
+++ b/apps/foo/src/main/java/org/onlab/onos/foo/FooComponent.java
@@ -8,6 +8,9 @@
 import org.onlab.onos.cluster.ClusterEvent;
 import org.onlab.onos.cluster.ClusterEventListener;
 import org.onlab.onos.cluster.ClusterService;
+import org.onlab.onos.net.device.DeviceEvent;
+import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceService;
 import org.slf4j.Logger;
 
 import static org.slf4j.LoggerFactory.getLogger;
@@ -23,17 +26,23 @@
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ClusterService clusterService;
 
-    private ClusterEventListener clusterListener = new InnerClusterListener();
+    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    protected DeviceService deviceService;
+
+    private final ClusterEventListener clusterListener = new InnerClusterListener();
+    private final DeviceListener deviceListener = new InnerDeviceListener();
 
     @Activate
     public void activate() {
         clusterService.addListener(clusterListener);
+        deviceService.addListener(deviceListener);
         log.info("Started");
     }
 
     @Deactivate
     public void deactivate() {
         clusterService.removeListener(clusterListener);
+        deviceService.removeListener(deviceListener);
         log.info("Stopped");
     }
 
@@ -43,6 +52,13 @@
             log.info("WOOOOT! {}", event);
         }
     }
+
+    private class InnerDeviceListener implements DeviceListener {
+        @Override
+        public void event(DeviceEvent event) {
+            log.info("YEEEEHAAAAW! {}", event);
+        }
+    }
 }