Hi Maciej,
thanks a lot for the effort!
As for the events, my personal opinion is that events should be persisted with all other artefacts that comprise process.
That is, because a process could be serialized into database in any "safe point" of its execution, and after its deserialization all connections between process elements and its listeners should be re-created.
If you open JIRA issue, you'll see that Kris had already marked it as solved, with the explanation that the signal was registering a non-serializable listener. But I don't see the solution...
Thanks,
Miljenko