Starting with extracting functionality to TransactionAwareTM