how can I block my suspend function and continue when another (non suspendable) callback method is called? I think I need something like CountDownLatch, but for blocking my coroutine, not my thread. If there is something like this, can I have a timeout on it as well?