Use after_commit to reduce multi-version race conditions