Right now, to get the result metas for one or a number of results you have to manually get the result/s you want and then pass them back into the provider interface. Calling functions related to the results should be able to be done through the result object itself
Ideally, one should be able to activate or get metas for the specific results too, which could be done with a new class (ResultItem?).
This is slightly more complex because the actual function takes in a list of ResultItems, and if the function is called on ResultItem then it becomes more complex. We could make a subclass of list potentially?