+ optional lifecycles for commit and rollback callbacks