/// <summary>
 /// Brings a panel into view, this kills off the current panel, and brings a new panel into view
 /// </summary>
 /// <param name="panelName">The panel to display.</param>
 /// <param name="previousPanel">The old panel to remove</param>
 private void DisplayPanel(AvailablePanels panelName, AvailablePanels previousPanel)
 {
     switch (panelName)
     {
         case (AvailablePanels.Controls):
             CreatePanel(AvailablePanels.Controls);
             this.mCurrentPanel = this.mControlsPanel as ControlPanel;
             break;
         case (AvailablePanels.Source):
             CreatePanel(AvailablePanels.Source);
             this.mCurrentPanel = this.mSourcePanel as ControlPanel;
             break;
         case (AvailablePanels.Timings):
             CreatePanel(AvailablePanels.Timings);
             this.mCurrentPanel = this.mTimingsPanel as ControlPanel;
             break;
         case (AvailablePanels.Tags):
             CreatePanel(AvailablePanels.Tags);
             this.mCurrentPanel = this.mTagsPanel as ControlPanel;
             break;
         case (AvailablePanels.Size):
             CreatePanel(AvailablePanels.Size);
             this.mCurrentPanel = this.mSizePanel as ControlPanel;
             break;
         case (AvailablePanels.Changer):
             CreatePanel(AvailablePanels.Changer);
             this.mCurrentPanel = this.mChangerPanel as ControlPanel;
             break;
     }
     this.RemovePanel(previousPanel);
     this.mCurrentPanelIndex = panelName;
 }
        /// <summary>
        /// Display a control panel to the user
        /// </summary>
        /// <param name="availablePanels">The panel to display</param>
        private void DisplayPanel(AvailablePanels availablePanels)
        {
            switch (availablePanels)
            {
                case (AvailablePanels.Controls):
                    CreatePanel(AvailablePanels.Controls);
                    this.mCurrentPanel = this.mControlsPanel as ControlPanel;
                    break;
                case (AvailablePanels.Source):
                    CreatePanel(AvailablePanels.Source);
                    this.mCurrentPanel = this.mSourcePanel as ControlPanel;
                    break;
                case (AvailablePanels.Timings):
                    CreatePanel(AvailablePanels.Timings);
                    this.mCurrentPanel = this.mTimingsPanel as ControlPanel;
                    break;
                case (AvailablePanels.Tags):
                    CreatePanel(AvailablePanels.Tags);
                    this.mCurrentPanel = this.mTagsPanel as ControlPanel;
                    break;
                case (AvailablePanels.Size):
                    CreatePanel(AvailablePanels.Size);
                    this.mCurrentPanel = this.mSizePanel as ControlPanel;
                    break;
                case (AvailablePanels.Changer):
                    CreatePanel(AvailablePanels.Changer);
                    this.mCurrentPanel = this.mChangerPanel as ControlPanel;
                    break;

            }
            this.mCurrentPanelIndex = availablePanels;
        }