In this PR we get rid of the "disturbed" dependency, and instead we publish global events from the lua scripts. This is faster and more reliable. For local events, we try to emit them directly. Local events and global are not identical, I will need to improve the documentation on this ASAP. For example while the local progress event sends the job as first parameter (since this can be get for free), in the global event we only send the jobId, to avoid fetching the job data everytime the progress is updated.
I also did some minor refactoring and removed the obsolete priority queue code and unit tests.