Index: /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 206)
+++ /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 210)
@@ -76,4 +76,10 @@
      */
     private Properties props = null;
+    
+    /** 
+     * The Coordinator object from which we obtain the simulation clock.
+     */ 
+    private Coordinator theCoordinator;
+
     /**
      * Highways in traffic network
@@ -95,12 +101,8 @@
     private String currentClock = "";
     
-    /**
-     * GUI for this driver
-     */
-    //private TrafficModelViewer theView;
-    
+   
     /**
      * Constructor. Loads the Properties file and initializes the
-     * ATMSCommunicator with the parsed data.
+     * highway network model. 
      *
      * @param propertiesFile Target file path of properties file.
@@ -118,5 +120,12 @@
                 props.getProperty(PROPERTIES.FEPSIM_IP_ADDR.name),
                 8080); 
-        
+        this.theCoordinator = theCoordinator;
+    }
+    /**
+     * Load the traffic events and start processing the event queue.
+     * Usage: addObserver must be called before calling run.
+     */
+    public void run()
+    {
         loadEvents();
         
@@ -378,40 +387,4 @@
     }
 
-    /**
-     * Construct the CADClient with the properties file path, either from the
-     * command line arguments or default.
-     *
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args) throws RemoteException
-    {
-        final String CONFIG_FILE_NAME = "traffic_model_config.properties";        
-        if (System.getProperty("CONFIG_DIR") == null)
-        {
-            System.setProperty("CONFIG_DIR", "config");
-        }
-        CADSimulatorState theModel = new CADSimulatorState();
-        Coordinator theCoordinator = new Coordinator(theModel);
-        try
-        {
-            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
-            TrafficModelManager mgr = new TrafficModelManager(System.getProperty("CONFIG_DIR") + System.getProperty("file.separator") + CONFIG_FILE_NAME,                    
-            theCoordinator);
-            TrafficModelViewer view = new TrafficModelViewer(mgr);
-            view.setVisible(true);
-            mgr.addObserver(view);
-        }
-        catch (Exception e)
-        {
-            logger.logp(Level.SEVERE, "SimulationManager", "Main",
-                    "Error initializing application.");
-
-            JOptionPane.showMessageDialog(new JWindow(), e.getMessage(),
-                    "Error - Program Exiting", JOptionPane.ERROR_MESSAGE);
-
-            System.exit(-1);
-        }
-
-    }
     class WriteToConsoleThread extends Thread
     {
Index: /trunk/src/tmcsim/cadsimulator/CADServer.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/CADServer.java	(revision 206)
+++ /trunk/src/tmcsim/cadsimulator/CADServer.java	(revision 210)
@@ -21,5 +21,4 @@
 import tmcsim.cadsimulator.managers.SimulationClockManager;
 import tmcsim.cadsimulator.managers.TrafficModelManager;
-import tmcsim.cadsimulator.managers.TrafficModelViewer;
 import tmcsim.cadsimulator.viewer.model.CADSimulatorState;
 import tmcsim.common.SimulationException;
@@ -178,5 +177,4 @@
      */
     protected static TrafficModelManager theTrafficMgr = null;
-    private TrafficModelViewer trafficView = null;
     
     /**
@@ -259,6 +257,6 @@
                     CAD_PROPERTIES.TRAFFICMGR_PROP_FILE.name),
                     theCoordinator);
-            trafficView = new TrafficModelViewer(theTrafficMgr);
-             theTrafficMgr.addObserver(trafficView);
+            theTrafficMgr.addObserver(theViewer);
+            theTrafficMgr.run();
 
             theMediaMgr = new MediaManager(
@@ -315,6 +313,4 @@
 
         theViewer.setVisible(true);
-        trafficView.setVisible(true);
-
 
     }
Index: /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.java	(revision 210)
+++ /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.java	(revision 210)
@@ -0,0 +1,266 @@
+package tmcsim.cadsimulator.viewer;
+
+import atmsdriver.model.TrafficEvent;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Observable;
+import java.util.Observer;
+import java.util.Vector;
+import javax.swing.AbstractListModel;
+import javax.swing.JOptionPane;
+import tmcsim.cadsimulator.managers.TrafficModelManager;
+
+/**
+ * Viewer for the Traffic Model that displays the event queue and the incident
+ * list.
+ *
+ * @author jdalbey
+ */
+public class TrafficModelViewPanel extends javax.swing.JPanel implements Observer
+{
+
+    /**
+     * Reference to the driver associated with this GUI
+     */
+    private TrafficModelManager driver;
+    private List<String> incidents;
+
+    /**
+     * Creates new form TrafficModelViewPanel
+     */
+    public TrafficModelViewPanel()
+    {
+        initComponents();
+    }
+
+    @Override
+    /**
+     * Refresh the display.
+     */
+    public void update(Observable obs, Object obj)
+    {
+        if (obs == null)
+        {
+            return;
+        }
+        if (obs instanceof TrafficModelManager)
+        {
+            // save reference to the model for use by button handlers
+            driver = (TrafficModelManager) obs;
+        }
+        if (obj == null)
+        {
+            return;
+        }
+        // Determine what needs updating; time, events, or incidents
+        if (obj instanceof String)
+        {
+            String currentTime = (String) obj;
+            txtClockTime.setText(currentTime);
+        }
+        if (obj instanceof Vector)
+        {
+            lstIncidents.setListData((Vector) obj);
+        }
+        if (obj instanceof LinkedList)
+        {
+            lstEvents.setModel(new MyListModel((LinkedList) obj));
+        }
+    }
+
+    /**
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents()
+    {
+
+        pnlEvents = new javax.swing.JPanel();
+        scrollEvents = new javax.swing.JScrollPane();
+        lstEvents = new javax.swing.JList<>();
+        txtClockTime = new javax.swing.JLabel();
+        btnReload = new javax.swing.JButton();
+        pnlIncidents = new javax.swing.JPanel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        lstIncidents = new javax.swing.JList<>();
+        btnClear = new javax.swing.JButton();
+
+        lstEvents.setFont(new java.awt.Font("Noto Mono", 0, 12)); // NOI18N
+        lstEvents.setModel(new javax.swing.AbstractListModel<String>()
+        {
+            String[] strings = { "item 1", "item 2" };
+            public int getSize() { return strings.length; }
+            public String getElementAt(int i) { return strings[i]; }
+        });
+        scrollEvents.setViewportView(lstEvents);
+
+        txtClockTime.setFont(new java.awt.Font("Noto Sans", 1, 14)); // NOI18N
+        txtClockTime.setText("0:00:00");
+
+        btnReload.setText("Reload");
+        btnReload.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                btnReloadActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout pnlEventsLayout = new javax.swing.GroupLayout(pnlEvents);
+        pnlEvents.setLayout(pnlEventsLayout);
+        pnlEventsLayout.setHorizontalGroup(
+            pnlEventsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(pnlEventsLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(scrollEvents, javax.swing.GroupLayout.PREFERRED_SIZE, 430, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(20, Short.MAX_VALUE))
+            .addGroup(pnlEventsLayout.createSequentialGroup()
+                .addGap(112, 112, 112)
+                .addComponent(txtClockTime, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(btnReload)
+                .addGap(32, 32, 32))
+        );
+        pnlEventsLayout.setVerticalGroup(
+            pnlEventsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlEventsLayout.createSequentialGroup()
+                .addGroup(pnlEventsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(txtClockTime, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnReload))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(scrollEvents, javax.swing.GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+
+        lstIncidents.setFont(new java.awt.Font("Noto Mono", 0, 15)); // NOI18N
+        lstIncidents.setModel(new javax.swing.AbstractListModel<String>()
+        {
+            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
+            public int getSize() { return strings.length; }
+            public String getElementAt(int i) { return strings[i]; }
+        });
+        lstIncidents.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
+        jScrollPane1.setViewportView(lstIncidents);
+
+        btnClear.setText("Clear Incident");
+        btnClear.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                btnClearActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout pnlIncidentsLayout = new javax.swing.GroupLayout(pnlIncidents);
+        pnlIncidents.setLayout(pnlIncidentsLayout);
+        pnlIncidentsLayout.setHorizontalGroup(
+            pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(pnlIncidentsLayout.createSequentialGroup()
+                .addGroup(pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(btnClear)
+                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(0, 0, Short.MAX_VALUE))
+        );
+        pnlIncidentsLayout.setVerticalGroup(
+            pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlIncidentsLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(btnClear)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(12, 12, 12)
+                        .addComponent(pnlIncidents, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addComponent(pnlEvents, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(pnlEvents, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(pnlIncidents, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void btnReloadActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnReloadActionPerformed
+    {//GEN-HEADEREND:event_btnReloadActionPerformed
+        String message = "Reload will delete all events in the queue and reload the events file.\n"
+                + "This will not effect the simulation manager, and will run all events up to\n"
+                + "current simulation time.";
+        String title = "Please Confirm";
+        // display a confirmation message for the user
+        int reply = JOptionPane.showConfirmDialog(this, message, title, JOptionPane.YES_NO_OPTION);
+        if (reply == JOptionPane.YES_OPTION)
+        {
+            if (driver != null)
+            {
+                driver.loadEvents();
+            }
+        }
+    }//GEN-LAST:event_btnReloadActionPerformed
+
+    private void btnClearActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnClearActionPerformed
+    {//GEN-HEADEREND:event_btnClearActionPerformed
+        String selectedItem = lstIncidents.getSelectedValue();
+        if (selectedItem == null)
+        {
+            JOptionPane.showMessageDialog(this, "No Incident Selected", "Warning", JOptionPane.INFORMATION_MESSAGE);
+        } else
+        {
+            System.out.println("Clicked Incident:" + selectedItem);
+            if (driver != null)
+            {
+                driver.clearIncident(selectedItem);
+            }
+            lstIncidents.clearSelection();
+        }
+    }//GEN-LAST:event_btnClearActionPerformed
+
+    class MyListModel extends AbstractListModel<String>
+    {
+
+        TrafficEvent[] strings;// = { "item 1", "item 2" };
+
+        public MyListModel(List<TrafficEvent> events)
+        {
+            strings = events.toArray(new TrafficEvent[events.size()]);
+        }
+
+        public int getSize()
+        {
+            return strings.length;
+        }
+
+        public String getElementAt(int i)
+        {
+            return strings[i].rawString;
+        }
+    }
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton btnClear;
+    private javax.swing.JButton btnReload;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JList<String> lstEvents;
+    private javax.swing.JList<String> lstIncidents;
+    private javax.swing.JPanel pnlEvents;
+    private javax.swing.JPanel pnlIncidents;
+    private javax.swing.JScrollPane scrollEvents;
+    private javax.swing.JLabel txtClockTime;
+    // End of variables declaration//GEN-END:variables
+}
Index: /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.form
===================================================================
--- /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.form	(revision 210)
+++ /trunk/src/tmcsim/cadsimulator/viewer/TrafficModelViewPanel.form	(revision 210)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="32767" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="12" pref="12" max="-2" attributes="0"/>
+                      <Component id="pnlIncidents" max="32767" attributes="0"/>
+                  </Group>
+                  <Component id="pnlEvents" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="pnlEvents" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="pnlIncidents" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="pnlEvents">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="scrollEvents" min="-2" pref="430" max="-2" attributes="0"/>
+                  <EmptySpace pref="20" max="32767" attributes="0"/>
+              </Group>
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace min="-2" pref="112" max="-2" attributes="0"/>
+                  <Component id="txtClockTime" min="-2" pref="225" max="-2" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
+                  <Component id="btnReload" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="32" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="1" attributes="0">
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="txtClockTime" alignment="3" min="-2" pref="28" max="-2" attributes="0"/>
+                      <Component id="btnReload" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="scrollEvents" pref="172" max="32767" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Container class="javax.swing.JScrollPane" name="scrollEvents">
+          <AuxValues>
+            <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JList" name="lstEvents">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Noto Mono" size="12" style="0"/>
+                </Property>
+                <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
+                  <StringArray count="2">
+                    <StringItem index="0" value="item 1"/>
+                    <StringItem index="1" value="item 2"/>
+                  </StringArray>
+                </Property>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Component class="javax.swing.JLabel" name="txtClockTime">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Noto Sans" size="14" style="1"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="0:00:00"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JButton" name="btnReload">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Reload"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnReloadActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="pnlIncidents">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Component id="btnClear" alignment="0" min="-2" max="-2" attributes="0"/>
+                      <Component id="jScrollPane1" alignment="0" min="-2" pref="211" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="1" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="jScrollPane1" min="-2" pref="179" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="btnClear" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+          <AuxValues>
+            <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+          </AuxValues>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JList" name="lstIncidents">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Noto Mono" size="15" style="0"/>
+                </Property>
+                <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
+                  <StringArray count="5">
+                    <StringItem index="0" value="Item 1"/>
+                    <StringItem index="1" value="Item 2"/>
+                    <StringItem index="2" value="Item 3"/>
+                    <StringItem index="3" value="Item 4"/>
+                    <StringItem index="4" value="Item 5"/>
+                  </StringArray>
+                </Property>
+                <Property name="selectionMode" type="int" value="0"/>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Component class="javax.swing.JButton" name="btnClear">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Clear Incident"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnClearActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
Index: /trunk/src/tmcsim/cadsimulator/viewer/CADServerViewer.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/viewer/CADServerViewer.java	(revision 124)
+++ /trunk/src/tmcsim/cadsimulator/viewer/CADServerViewer.java	(revision 210)
@@ -18,4 +18,5 @@
 import javax.swing.JTabbedPane;
 import javax.swing.KeyStroke;
+import tmcsim.cadsimulator.managers.TrafficModelManager;
 import tmcsim.cadsimulator.viewer.actions.ExitAction;
 import tmcsim.cadsimulator.viewer.model.CADMediaStatus;
@@ -35,4 +36,8 @@
 public class CADServerViewer extends JFrame implements CADViewer
 {
+    private JTabbedPane cadSimTabbedPane;
+    private JMenuBar menubar;
+    private JMenu fileMenu;
+    private JMenuItem exitMenuItem;
 
     /**
@@ -48,5 +53,9 @@
      */
     private ConfigStatusPanel configPanel;
-
+    /*
+     * Panel to display Traffic Model Event Queue
+    */
+    private TrafficModelViewPanel trafficPanel;
+    
     /**
      * Constructor.
@@ -133,4 +142,5 @@
         mediaPanel = new MediaStatusPanel();
         configPanel = new ConfigStatusPanel();
+        trafficPanel = new TrafficModelViewPanel();
 
         cadSimTabbedPane = new JTabbedPane();
@@ -138,4 +148,5 @@
         cadSimTabbedPane.addTab("Media", mediaPanel);
         cadSimTabbedPane.addTab("Config", configPanel);
+        cadSimTabbedPane.addTab("Traffic", trafficPanel);
 
         add(cadSimTabbedPane);
@@ -153,15 +164,5 @@
 
         javax.swing.JMenu helpMenu = new javax.swing.JMenu("Help");
-        javax.swing.JMenuItem aboutItem = new javax.swing.JMenuItem("About");
 
-        aboutItem.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
-                String ver = "";//RevisionNumber.getString();
-                JOptionPane.showMessageDialog(rootPane, "Version: " + ver, "About", JOptionPane.INFORMATION_MESSAGE);
-            }
-        });
-        helpMenu.add(aboutItem);
         menubar.add(helpMenu);
 
@@ -173,8 +174,4 @@
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
-    private JTabbedPane cadSimTabbedPane;
-    private JMenuBar menubar;
-    private JMenu fileMenu;
-    private JMenuItem exitMenuItem;
 
     @Override
@@ -189,4 +186,8 @@
             mediaPanel.refresh(obs);
         }
+        if (obs instanceof TrafficModelManager)
+        {
+            trafficPanel.update(obs, obj);
+        }
     }
 }
Index: /trunk/src/tmcsim/application.properties
===================================================================
--- /trunk/src/tmcsim/application.properties	(revision 209)
+++ /trunk/src/tmcsim/application.properties	(revision 210)
@@ -3,3 +3,3 @@
 Application.revision=208
 
-Application.buildnumber=68
+Application.buildnumber=69
Index: /trunk/test/tmcsim/cadsimulator/SystemTest.java
===================================================================
--- /trunk/test/tmcsim/cadsimulator/SystemTest.java	(revision 123)
+++ /trunk/test/tmcsim/cadsimulator/SystemTest.java	(revision 210)
@@ -62,5 +62,5 @@
 
         // Check CAD Simulator appears with no script and nothing connected
-        assertTrue("Title bar incorrect", cadwindow.getTitle().trim().startsWith("CAD Simulator"));
+        assertTrue("Title bar incorrect", cadwindow.getTitle().trim().startsWith("CAD Server"));
         Panel mainPanel = cadwindow.getPanel("contentPane");
         TextBox txtStatus = mainPanel.getTextBox("simulationStatus");
