@aditya-kapoor if you call `valid?(:save)`, then `context` will be set to `:save` and not run the `(new_record? ? :create : :update)`, because of the conditional assignment, `||=`. 

So the code in its current form anyway works for your intended use-case.