Rich Transactional Objects for Perl