Events construct in SV

In reply to Naven8:

dave_59 writes:

First, I will caution you on the use of events in SystemVerilog. They should be used only by advanced users, and the use of event.triggered() is for people working around the mistakes they made incorrectly using events. Actually, it’s not that bad, but I would always think of a better way before reverting to using an event.

Can you describe how you typically avoid events? Here, I’m not
looking for a rule just a rather a guideline or a preferred
approach to avoid them. Thanks.