Initial implementation of object locking
Add DomainObject->diff and DomainObject->reload