Supporting nested AR transactions

Include support for nested transactions when firing an event that can be called either from a process already in a transaction or from processes that have no active transaction.