         {
             registerPersistenceClassAliases();
             
-            persistenceManager = createPersistenceManager();
             persistenceManager.initialize();
             
             // Dispatch event for loading persistence data

     */ 
    protected function nativeApplication_deactivateHandler(event:Event):void
    {
        if (sessionCachingEnabled)
        {
            // Dispatch event for saving persistence data
            var eventDispatched:Boolean = true;
            if (hasEventListener(FlexEvent.APPLICATION_PERSISTING))
                eventDispatched = dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_PERSISTING, 
                                                                false, true));
            
            // TODO (chiedozi): Rename eventDispatched
            if (eventDispatched)
            {
                persistApplicationState();
                persistenceManager.flush();
                
                if (hasEventListener(FlexEvent.APPLICATION_PERSIST))
                    dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_PERSIST));
            }
        }
    }
    

    /**
     *  
     */
    // FIXME (chiedozi): PARB whether this should be a method or a getter because of side effect
    public function get persistenceManager():IPersistenceManager
    {
        if (!_persistenceManager)
        {
            registerPersistenceClassAliases();
            _persistenceManager = createPersistenceManager();
        }
        
        return _persistenceManager;
    }
    
    //----------------------------------
