         // Run transition
         if (transition)
         {
+            // Notify listeners that a new view has been successfully added to the stage
+            if (hasEventListener(ViewNavigatorEvent.VIEW_TRANSITION_START))
+                dispatchEvent(new ViewNavigatorEvent(ViewNavigatorEvent.VIEW_TRANSITION_START, false, false, pendingView, transition));
+            
             transition.play();
         }
         else

            selectedIndex = -1;
        }
        
        currentViewChanged = true;
        selectedSectionChanged = true;
        invalidateProperties();
        
        if (tabBar)
            tabBar.visible = tabBar.includeInLayout = (_sections != null && _sections.length > 1);
    }
    
    

     */
    public function set sections(value:Vector.<ViewNavigatorSection>):void
    {
		currentViewChanged = true;
		selectedSectionChanged = true;
		
        if (value)
        {
            _sections = value.concat();
