More Navigator refactoring.
diff --git a/src/main/java/org/testng/reporters/jq/Main.java b/src/main/java/org/testng/reporters/jq/Main.java
index e1c3c3e..e7c0ad6 100644
--- a/src/main/java/org/testng/reporters/jq/Main.java
+++ b/src/main/java/org/testng/reporters/jq/Main.java
@@ -13,6 +13,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Arrays;
 import java.util.List;
 
 public class Main implements IReporter {
@@ -37,16 +38,15 @@
     new BannerPanel(m_model).generate(xsb);
 
     // Navigator on the left hand side
-    TestNgXmlPanel testNgPanel = new TestNgXmlPanel(m_model);
-    TestPanel testPanel = new TestPanel(m_model);
-    GroupPanel groupPanel = new GroupPanel(m_model);
-    TimesPanel timePanel = new TimesPanel(m_model);
-    ReporterPanel reporterPanel = new ReporterPanel(m_model);
-    IgnoredMethodsPanel ignoredMethodsPanel = new IgnoredMethodsPanel(m_model);
-    ChronologicalPanel chronologicalPanel = new ChronologicalPanel(m_model);
-    new NavigatorPanel(m_model, testNgPanel, testPanel, groupPanel, timePanel, reporterPanel,
-        ignoredMethodsPanel, chronologicalPanel)
-        .generate(xsb);
+    List<INavigatorPanel> panels = Arrays.<INavigatorPanel>asList(
+        new TestNgXmlPanel(m_model),
+        new TestPanel(m_model),
+        new GroupPanel(m_model),
+        new TimesPanel(m_model),
+        new ReporterPanel(m_model),
+        new IgnoredMethodsPanel(m_model),
+        new ChronologicalPanel(m_model));
+    new NavigatorPanel(m_model, panels).generate(xsb);
 
     xsb.push(D, C, "wrapper");
     xsb.push(D, "class", "main-panel-root");
@@ -55,13 +55,9 @@
     // Suite panels
     //
     new SuitePanel(m_model).generate(xsb);
-    groupPanel.generate(xsb);
-    reporterPanel.generate(xsb);
-    timePanel.generate(xsb);
-    testPanel.generate(xsb);
-    testNgPanel.generate(xsb);
-    ignoredMethodsPanel.generate(xsb);
-    chronologicalPanel.generate(xsb);
+    for (INavigatorPanel panel : panels) {
+      panel.generate(xsb);
+    }
 
     xsb.pop(D); // main-panel-root
     xsb.pop(D); // wrapper
diff --git a/src/main/java/org/testng/reporters/jq/NavigatorPanel.java b/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
index d58b33e..75cdc1c 100644
--- a/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
+++ b/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
@@ -13,25 +13,11 @@
 
 public class NavigatorPanel extends BasePanel {
 
-  private TestNgXmlPanel m_testNgPanel;
-  private TestPanel m_testPanel;
-  private GroupPanel m_groupPanel;
-  private TimesPanel m_timePanel;
-  private ReporterPanel m_reporterPanel;
-  private IgnoredMethodsPanel m_ignoredMethodsPanel;
-  private ChronologicalPanel m_chronologicalPanel;
+  private List<INavigatorPanel> m_panels;
 
-  public NavigatorPanel(Model model, TestNgXmlPanel testNgPanel, TestPanel testPanel,
-      GroupPanel groupPanel, TimesPanel timePanel, ReporterPanel reporterPanel,
-      IgnoredMethodsPanel ignoredMethodsPanel,ChronologicalPanel chronologicalPanel) {
+  public NavigatorPanel(Model model, List<INavigatorPanel> panels) {
     super(model);
-    m_testNgPanel = testNgPanel;
-    m_testPanel = testPanel;
-    m_groupPanel = groupPanel;
-    m_timePanel = timePanel;
-    m_reporterPanel = reporterPanel;
-    m_ignoredMethodsPanel = ignoredMethodsPanel;
-    m_chronologicalPanel = chronologicalPanel;
+    m_panels = panels;
   }
 
   @Override
@@ -141,33 +127,14 @@
     header.addRequired(S, "Info");
     header.pop(D);
 
-    //
-    // Info
-    //
     header.push(D, C, "suite-section-content");
 
     header.push("ul");
 
-    // "59 Tests"
-    addLinkTo(header, m_testPanel, suite);
-
-    // "12 groups"
-    addLinkTo(header, m_groupPanel, suite);
-
-    // Times
-    addLinkTo(header, m_timePanel, suite);
-
-    // Reporter
-    addLinkTo(header, m_reporterPanel, suite);
-
-    // Chronological
-    addLinkTo(header, m_chronologicalPanel, suite);
-
-    // Ignored methods
-    addLinkTo(header, m_ignoredMethodsPanel, suite);
-
-    // "testng.xml"
-    addLinkTo(header, m_testNgPanel, suite);
+    // All the panels
+    for (INavigatorPanel panel : m_panels) {
+      addLinkTo(header, panel, suite);
+    }
 
     header.pop("ul");
     header.pop(D); // suite-section-content