Add transaction detection support on `.save` and `.updateAttributes` + tests