BatchLoader provides a generic lazy batching mechanism to avoid N+1 DB queries, HTTP queries, etc.