Refactor the `#run()` methods to use a Queue system

This is a basic refactoring offering the same functionnality as before but
with a queue system to manage the asynchronicity.