Elaborate transaction() manager example (Chris A).