The API should accept SearchResultsSet as input and after it is done each Result in the set will be augmented with K/V map with additional data for this specific Result (empty by default).
This includes creating API for augmenting each Result with K/V map.
The API will be configured in the way analogous to how ApiQuery configures props - i.e. there will be a map of name/class name and for each entry the class will be instantiated and asked to process an array of Title and return an array of data items, then each data item will be set as augment for the corresponding Result.
Extensions will override/extend it by setting appropriate element in a configuration array.
See https://etherpad.wikimedia.org/p/Wikidata_Meeting_Berlin_10262015