Broker populates cache lazily

Prevents materializing cache data before returning results.