Reusable queues of actions using promises