 
     func updateObject(aObj: O) {
         
-        if aObj.dirty {
-            var data = aObj.encodeData()
-        
-            //self.update(data, atID:aObj.id)
+        if aObj.dirty && aObj.uid {
+
+            self[aObj.uid!] = aObj.data
             
             aObj.dirty = false
         }


    func addObject(aObj: O) -> UID {
        
        aObj.uid = self.create(aObj.encodeData())
        
        aObj.dirty = false
        
        return aObj.uid!
    }
    
    
    func readObject(aID: UID) -> O? {
        
        var data = self.read(aID)
        
        if data.length > 0 {
            var result = O(data: data)
            result.uid = aID
            
            return result

    func deleteObject(aObj: O) {
        
        if aObj.uid {
            self.deleteData(aObj.uid!)
            aObj.uid = nil;
        }
    }
