Refactoring. Renaming transaction method to execute. Using transaction level complete and error functions