     
     override protected function commitProperties():void
     {
+        // If the sections property is not set by this point, ViewNavigator will
+        // create a default section to be used by the navigator, and initialize it
+        // with the rootView and initialData defined by the application
+        if (sections == null || sections.length == 0)
+        {
+            // TODO: ViewNavigator should have a rootView and rootData convenience property
+            // Create the empty screen stack and initialize it with the
+            // desired rootView and initial data
+            var section:ViewNavigatorSection = new ViewNavigatorSection();
+            section.rootView = null;
+            section.initialData = null;
+            
+            // Set the stacks of the navigator
+            var newSections:Vector.<ViewNavigatorSection> = Vector.<ViewNavigatorSection>([section]);
+            sections = newSections;
+        }
+            
         if (currentViewChanged)
             executeViewChange();
         else

        if (currentSection)
            pendingViewData = currentSection.top;
        
        if (pendingViewData)
        {
            var view:View;
            

            if (currentViewData)
            {
                currentView = currentViewData.instance;
                
                if (currentView)
                {
                    currentView.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, view_propertyChangeHandler);
                    
                    currentViewData.persistedData = currentView.getPersistenceData();
                    currentView.active = true;
                }
            }
        }
        
