Initial decouple of TransactionGenerationController