We do plan to support bulk lookup in this manner. From the point of view of the frontend it should not know or care about what backend is handling it, assumptions about what belongs to what backend should not play in as core will group by backend and dispatch to each one.

As for the performance with MPD, the biggest win right now is to fix the command list handling. Right now each ``add`` triggers a lot of overhead as all our events a called for each one. If we instead inside the command list make postpone sending the command right away if it's an add building a list of uris, for the first non-add command we receive we dispatch the list. Other benefit of this will be that we can use the same futures trick as here, adding a ``lookup`` for each uri while we continue to process the list, then once we trigger we resolve all the futures and add the tracks.