I released a first stab at this recently. I think the interface is sane, but would welcome any comments.
My older module Tie::Hash::Transactional is now deprecated. The previous package is being deleted from the CPAN, as a version of the module is now included with Data::Transactional. However, this version of Tie::Hash::Transactional spits warnings when you use it. Which I *think* is what a deprecated module should do.
I've also included a Data::Compare plugin for comparing Data::Transactional objects both with other D::Ts and also with ordinary hashes and arrays. That plugin architecture Rocks. The plugin took all of a minute to write^Wcopy from a previous plugin correctly.