Redesign Transactions module. Make transactions inherit from EventEmitter