Moving beforeSave inside the tansaction, making reads consistent in
callbacks is far more important than the ability to change stuff like
the connection to be used from a listener