add init method for initializing Transaction object
reuse existing Transaction object in begin(), just reinit it. It will keep its hooks intact.