 		{
 			return [
 				Notifications.TRACES_FETCHED
+				, Notifications.SELECTION_CHANGED
 			];
 		}
 		

		private const NAME:String = "TracesListPanelMediator";
		
		private var tracesListPanel:TracesListPanel;
		
		// Constructor
		public function TracesListPanelMediator(viewComponent:Object=null)

					populateDataGrid();
					
					break;
				case Notifications.SELECTION_CHANGED:
					if(notification.getBody() != null) {
						var selection:Array = notification.getBody() as Array;
						
						for(var i:int = 0; i < traces.length; i++) {
							var traceSequence:TraceSequence = (traces[i] as TraceSequence);
							
							if(traceSequence.traceSequenceAlignment == null) {
								continue;
							}
							
							if(selection[0] == traceSequence.traceSequenceAlignment.queryStart - 1 && selection[1] == traceSequence.traceSequenceAlignment.queryEnd) {
								if(tracesListPanel.tracesDataGrid.selectedIndex != i) {
									tracesListPanel.tracesDataGrid.selectedIndex = i;
									
									sendNotification(Notifications.TRACE_SEQUENCE_SELECTION_CHANGED, traceSequence);
								}
								
								break;
							}
						}
					}
					
					break;
			}
		}
		
		// Private Methods
		private function populateDataGrid():void {
			traces = ApplicationFacade.getInstance().traces;
			
			tracesListPanel.tracesDataGrid.dataProvider = null;
			
