It looks like the old code was trying to avoid side-effects (callbacks) by calling `update_column`. With this change, `save` will run callbacks. If we want to avoid callbacks, we would set up a hash and call `update_columns`.