      */ 
     public function setProperty(key:String, value:Object):void
     {
+        // If the persistence manager hasn't been initialized, do so now
         if (!initialized)
-            initialize();
-        
-        // TODO (chiedozi): Don't call flush now
-        if (enabled)
-        {
+            load();
+        
+        // Make sure the shared object is valid since initialization fails silently
+        if (so != null)
             so.data[key] = value;
-            so.flush();
-        }
     }
     
     /**

    
    /**
     *  @private
     */ 
    private var enabled:Boolean = false;
    
    /**
     *  @private
     *  Returns whether the persistence manager has been initialized.
     * 
     *  @default false
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */ 
    private var initialized:Boolean = false;
    

//
////////////////////////////////////////////////////////////////////////////////

package spark.core.managers
{
import flash.net.SharedObject;
