В A2 давно такой есть в модуле Events. Интерфейс состоит всего из одного вызова:## Код:
```
(** Generate an new event record and add it to the event queue. If showOnKernenLog is TRUE, a simplified representation
   of the event (originator + ": " + message) is displayed on the kernel log.
   This operation is non-blocking if showOnKernelLog is FALSE, blocking otherwise *)
PROCEDURE AddEvent*(CONST originator : Name; type, class, subclass, code : SIGNED8; CONST message : Message; showOnKernelLog : BOOLEAN);
BEGIN
   Add(NewEvent(originator, type, class, subclass, code, message), showOnKernelLog)
END AddEvent;
```
