As far as I can tell, the first time an object is changed, an Agent's _objectChanged() will be called, but as long as the object is still in the memory cache, _objectChanged() will not be called again. That is, I change an object - _objectChanged() is called. However, the object is now in the memory cache, so the next time I change the object, _objectChanged() is not called. If I flush the cache, or Refresh the Product, the next _objectChanged() will be honored (but the next-next one won't.) Alternatively, I may be misunderstanding something about the way these events work. Another problem I'm having is giving default values to objects (e.g. default UNAPPROVED status for approval). I can do this with a trigger (whith objectAdded being "client.status = UNAPPROVED"), but I also have a trigger that is equivalent to CatalogAwareness. The problem is that I don't know what order the triggers get called - will the changes made by one trigger be consistently cataloged by the other trigger? -- Itamar S.T. itamar@maxnm.com Fingerprint = D365 7BE8 B81E 2B18 6534 025E D0E7 92DB E441 411C