Applications that orchestrate upstream calls (auctions, aggregation) need to send concurrent requests with per-call timeouts and collect results