>that it locks the API to be synchronous when it doesn't need to be
We use synchronous API where we can. I think that use cases you showed are not important enough to complicate filters API. Please change it to be synchronous.