Shouldn't this also run onUpdate? Suggest:

 * Rename current onSave() method to onBeforeSave()
 * Create a new onSave() method that runs after saving
 * Use onSave() here, so that it also runs with updates