General code cleanup
Added more decoupling to TransactionGenerationController