I understand the risk in recursively calling `#save` in any `*_save` callback, so if that's too big of a problem then I think we'll want to do this totally in the UI.