Did you consider this to be an `after_destroy`? Lets imagine we have a race between P1 and P2.

P1:remove -> P1:destroy -> P2:update -> P2:write = correct
P1:remove -> P2:update -> P1:destroy -> P2:write = incorrect (would be correct with after_destroy)
P2:update -> P2:write -> P1:remove -> P1:destroy = correct
P2:update -> P1:remove -> P2:write -> P1:destroy = incorrect (would be correct with after_destroy, it would actually be blank, but not an invalid value)