All actions handle on_fail blocks now
Don't set on_fail to nil if it's set already