Support events
Host objects must be able to emit events. Modules must be able to subscribe for them. Only interfaces are allowed to have events.
Events are like other methods, but they return nothing, and the emitter object never knows how many handlers were called and with which result. If there are many handlers subscribed for the same event, they are all called, and all receive individual data packs.
SDK must have means of comfortable interaction with events. For host objects, calling event method must emit the event. For proxy objects, calling event methods is forbidden. For proxy objects, there must be a simple way to subscribe for a specific event.