It might helpful to point out that the `"[ActionDescriptor]"` message is the message that is ignored and, if I'm reading this right, you only expect `installNextJSHelperDeferred` to be called at most twice. The comment above sort of implies that an *arbitrary* subset of responses will come back, but for this use case it seems much simpler: you're always going to get the first two (the first is FOL, the second because of the fixed `bounds` param), and you'll get the third iff `boundsOnly` is set. 

With that said, the logic seems fine; above is just what I had to struggle to understand for a few minutes. Assuming I understand it correctly, my only criticism would be that it looks more complicated than it is. At a glance, it looks like the helper function could be called repeatedly, but actually it will always be called either one or two times. You could just have two deferreds instead of asynchronous recursion... But, whatever, it's fine!

(Also, typo on the following line.)