Introduce `ActionQueue.then` that resolves when the queue is done processing