after_commit callbacks should only run if saved

The `after_commit` callbacks should only run when you are persisting to the database