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

etc.

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

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

$self->TicketObj->_NewTransaction(
Type => ‘Breach’,
Data => ‘Ticket Breached the Resolve Agreement’
);

Regards,
Greg.