Events can pass arguments by value or reference. This is automatically deduced, with priority given to references.

To force passing by (Arg a) value, do trigger("event",Arg(a)).
Add tests for event management