another queue module, with timeouts just in case you miss a callback ;)