@mobrovac raised the concern that Proton mixes Promise-based and callback-based styles to represent asynchronous code execution. Both the service and the Puppeteer library are Promise-based but the queue is callback-based.
This mixing of styles has led to increased cognitive load when reviewing recent changes to the service, leading to a few avoidable delays.
- Queue is rewritten to use promises internally
- Queue#push returns a promise