Events basics
From OPU Wiki
The start-off will be to create a set of classes from where new event classes can be derived. They must contain virtual members for the trigger-function and the call-back function. Using classes like this will also make it possible to include params to be sent to the callback function.
All of those events should have 1 base class, so it would be possible to add custom events later.
