Creating a new transaction type

I am implementing an SLA system over RT. Tickets have various
agreements attached, such as ‘Response Escalate’ in ‘4 business
hours’, or ‘Resolve Breach’ in ‘8 business hours’.

I want to expose the ‘Escalation’ and ‘Breach’ events of a ticket’s
agreements to the RT system administrator. They should be able to
configure a new Scrip, like:

On Escalate Notify AdminCcs with template Escalate Comment
On Breach Notify AdminCcs with template Breach Correspondance


I’ve read the dire warnings in RT::Transaction_Overlay regarding
invoking NewTransaction. However, I see in lib/RT/Action/
an example of this method.

Will anything break if I include this in my code, using new
transaction types, a la:

Type => ‘Breach’,
Data => ‘Ticket Breached the Resolve Agreement’