deliteful/Toaster widget

That's certainly one way to fix it.   If you really need to do a loop that's possible too, but trickier, something like:

```
var p = null;
for (...) {
    function click () {
         return remote.elementById(action.buttonId)
							.clickElement()
							.end();
    }
    p = p ? p.then(click) : click();
}
```