'Called just before the database object is permanently
delete()d from the database. If this method returns False,
deletion is aborted.'

def at_object_delete(self):

    if (not self.callbacks.call('can_delete', self)):
        return False
    self.callbacks.call('delete', self)
    return True
