Vaadin Grid BackendDataProvider reactive style

Hi everyone.
I am really struggling with using the Vaadin Grid (8/10/11/12) in a reactive style using a BackendDataProvider.
Yes, it is good for lazy data loading and thus also works with a large amount of data. But the BackendDataProvider requests the data in a blocking style and it isn’t well suited for a reactive style. It “pulls” the data instead of allowing it to be “pushed” in as soon as it is available.
If my backend is down and the grid for example calls “sizeInBackend”, it blocks until the timeout is reached. During that time the UI is unresponsive.
I want to avoid that because all of the other UI is very reactive.

I cannot find a good solution other than moving away from the “scrolling and lazy loading” to a paged solution where I “push” the data into the Grid using a ListDataProvider once the data page has finished loading. That way I can properly display some kind of loading indicator.

I really would like to see something like this in BackendDataProvider (examples)

protected abstract Single<Integer> sizeInBackEnd(Query<T, F> query);
or
protected abstract Mono<Integer> sizeInBackEnd(Query<T, F> query);
or
protected abstract Observable<Integer> sizeInBackEnd(Query<T, F> query);

and
protected abstract Observable<T> fetchFromBackEnd(Query<T, F> query);

How do you guys and girls solve that problem?