This is a problem because results are not cached. This code is executed on level of main thread, and because displayWaiting(bool) is synchronous, time expensive method (it downloads from webserver which is time expensive operation from cpu point of view) could lock out whole bot. This needs to be handled in another thread so that main thread loop which handles events and loops for whole bot including all channels and users (and all bot instances) is not slowed down.