Could this be done as a before_save and then remove the duplicate calls to save in the callbacks?