Merge pull request #1021 from Nevtep/controller-abstraction

TransactionGenerationController abstraction.
Remove duplicated code using .modalController abscraction