Currently - and possibly due to an oversight - the `PrefetchingTermLookup` returns a Lookup class with an unnecessarily doubly nested structure as seen below, for every source that contains more than one service.
**Questions:**
- Should the lookup collect all types into a more flat structure, to prevent duplication and nesting of lookup instances? If so, then this task should aim to achieve that, otherwise, the task can be declined.
**Example:**
```
["lookups":"Wikibase\DataAccess\ByTypeDispatchingPrefetchingTermLookup":private]=>
array(2) {
["item"]=> ByTypeDispatchingPrefetchingTermLookup) {
["lookups":"ByTypeDispatchingPrefetchingTermLookup":private] =>
array(2) {
["item"] => FakePrefetchingTermLookup {
["buffer":"FakePrefetchingTermLookup":private] => NULL
}
["property"] => FakePrefetchingTermLookup {
["buffer":"FakePrefetchingTermLookup":private] => NULL
}
}
["defaultLookup":"ByTypeDispatchingPrefetchingTermLookup":private] =>
NullPrefetchingTermLookup) {}
}
["property"] => ByTypeDispatchingPrefetchingTermLookup) {
["lookups":"ByTypeDispatchingPrefetchingTermLookup":private] =>
array(2) {
["item"] => FakePrefetchingTermLookup {
["buffer":"FakePrefetchingTermLookup":private] => NULL
}
["property"] => FakePrefetchingTermLookup {
["buffer":"FakePrefetchingTermLookup":private] => NULL
}
}
["defaultLookup":"ByTypeDispatchingPrefetchingTermLookup":private] =>
NullPrefetchingTermLookup) {}
}
}
["defaultLookup":"ByTypeDispatchingPrefetchingTermLookup":private] => NULL
```