cleanup handling of non-persisted translations

worked on this some more and this is what i came up with. makes sense to me, and the tests are happy. lets discuss, and if you are happy with it lets merge into your branch, then squash the commits to not merge the whole evolution of the thing :-)