Index: /trunk/src/tmcsim/client/ATMSDriverClient.java
===================================================================
--- /trunk/src/tmcsim/client/ATMSDriverClient.java	(revision 105)
+++ /trunk/src/tmcsim/client/ATMSDriverClient.java	(revision 109)
@@ -1,4 +1,7 @@
 package tmcsim.client;
 
+import atmsdriver.ConsoleDriver;
+import atmsdriver.model.Highways;
+import atmsdriver.model.Station;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -94,4 +97,6 @@
     private Queue<String> eventQueue;
     
+    /** Instance of ConsoleDriver that contains the highway model */
+    private ConsoleDriver console;
 
     /**
@@ -109,5 +114,11 @@
             System.exit(0);
         }
-
+        Highways highways = new Highways(
+        "config/vds_data/lds.txt",
+        "config/vds_data/loop.txt",
+        "config/vds_data/highwaysMeta.txt",
+        "localhost", 8080);
+        console = new ConsoleDriver(highways);
+        
         connect(cadClientProp.getProperty(PROPERTIES.CAD_SIM_HOST.name).trim(),
                 cadClientProp.getProperty(PROPERTIES.CAD_RMI_PORT.name).trim());
@@ -146,7 +157,17 @@
                     {
                         System.out.println("LAUNCHING EVENT at " + nextEvent );
+                        // Extract fields from event and prepare them 
+                        Scanner lineScan = new Scanner(nextEvent);
+                        lineScan.next(); // skip time field
+                        int routeNumber = lineScan.nextInt();
+                        Station.DIRECTION dir = Station.DIRECTION.toDirection(lineScan.next());
+                        double postmile = lineScan.nextDouble();
+                        int range = lineScan.nextInt();
+                        ConsoleDriver.DOTCOLOR dotcolor = ConsoleDriver.DOTCOLOR.toDotColor(lineScan.next());
+                        // apply colorization to highways
+                        console.applyColorToHighwayStretch(routeNumber, dir, postmile, range, dotcolor);
+                        // Remove this event from the queue, we're done with it.
                         eventQueue.remove();
                     }
-                    //theView.updateTime("" + formatInterval(simtime));
                 }
             }
Index: /trunk/src/atmsdriver/model/Station.java
===================================================================
--- /trunk/src/atmsdriver/model/Station.java	(revision 103)
+++ /trunk/src/atmsdriver/model/Station.java	(revision 109)
@@ -121,40 +121,34 @@
     }
 
-    public void updateByDirection(DIRECTION direction, DOTCOLOR dotColor) {
+    /** Determine which lane fields to update based on given direction
+     * and update all the loop detectors with the given color.
+     * @param direction desired highway direction
+     * @param dotColor desired dot color
+     */
+    public void updateByDirection(DIRECTION direction, DOTCOLOR dotColor) 
+    {
+        String laneDir = "OPP";
         if(direction.equals(this.direction))
         {
-            updateML(dotColor);
-        }
-        else
-        {
-            updateOPP(dotColor);
-        }
-    }
-    
-    private void updateML(DOTCOLOR dotcolor)
-    {
-        outputUpdateMessage(dotcolor, "ML");
+            laneDir = "ML";
+        }
+        outputUpdateMessage(dotColor, laneDir);
         
         for(LoopDetector loop : loops)
         {
-            if(loop.loopLocation.startsWith("ML"))
+            if(loop.loopLocation.startsWith(laneDir))
             {
                 // UPDATE LOOP WITH VALUES
+                // TODO: Perhaps enhance DOTCOLOR enum to include constants for
+                // vol and occ along with each color.  Then the updateLoop call
+                // below could be update(dotColor.volume, dotColor.occ, speed)
+                int volume = 0;
+                int occ = 0;
+                int speed = 0;
+                loop.updateLoop(volume, occ, speed);
             }
         }
     }
-    
-    private void updateOPP(DOTCOLOR dotcolor)
-    {
-        outputUpdateMessage(dotcolor, "OPP");
-        for(LoopDetector loop : loops)
-        {
-            if(loop.loopLocation.startsWith("OP"))
-            {
-                // UPDATE LOOP WITH VALUES
-            }
-        }
-    }
-    
+   
     private void outputUpdateMessage(DOTCOLOR dotcolor, String OPP_ML)
     {
