         return result;
     }
     
-    func update(aProperty: Property) {
-        propertyStore.updateValue(aProperty)
+    func update(inout aProperty: Property) {
+        if aProperty.dirty {
+            propertyStore.updateValue(aProperty)
+            
+            aProperty.dirty = false
+        }
     }
 
     func delete(inout aProperty: Property) {

        aRelationship.context = self
    }
    
    func updateRelationship(aRelationship: Relationship) {
        relationshipStore.updateValue(aRelationship)
    }

    public func readRelationship(uid:UID) -> Relationship? {

        return result;
    }
    
    public func update(inout aNode: Node) {
        if aNode.dirty {
            nodeStore.updateValue(aNode)
            
            aNode.dirty = false
        }
    }

    public func delete(inout aNode: Node) {
        nodeStore.delete(aNode)
        aNode.context = nil;
    }

