Ick. Seems like there could be a race condition (write called, job queued, job executed before delete is)? Also, should we use DataObject->forceChange() instead of just setting LastEdited?