      */
     public function setValue (name :String, value :Object) :void
     {
-        _so.data[name] = value;
-        _so.flush(); // flushing is not strictly necessary
+        _data[name] = value;
+        if (_so != null) {
+            _so.flush(); // flushing is not strictly necessary
+        }
 
         // dispatch an event corresponding
         dispatchEvent(new ConfigValueSetEvent(name, value));


    /** The shared object that contains our preferences. */
    protected var _so :SharedObject;
}
}

     */
    public function ensureCapacity (kilobytes :int, rl :ResultListener) :void
    {
        if (_so == null) {
            if (rl != null) {
                rl.requestCompleted(this);
            }
            return;
        }

        // flush with the size, see if we're cool
        var result :String = _so.flush(1024 * kilobytes);
        if (rl == null) {
