Consumer won't overflow reporters now.

And also AsyncResults will be processed asap, instead of waiting for report call.
Just for ease of reading, could you re-arrange this so there is just one ```return```? It is correct like this, but I initially missed the one inside the ```if```, and scratched my head a bit... :smiley: