...
If you only had 20 emails and each email takes a second to query, then a for loop would work fine. But what if you 100,000 emails? You really need to be able to wake up a component, get a small batch of say 10, iterate and store the next ID and then get the next 10 and so on.
...