def get_async_ready(asyncs):
    """
    Given a dictionary containing async objects wait for them all to become ready before returning.
    
    :param asyscs: asynchronous requests that have been started.
    
    Asyncs structure is::
    
        {
            arg_0: {
                0: kazoo.interfaces.IAsyncResult
                1: kazoo.interfaces.IAsyncResult
                2: kazoo.interfaces.IAsyncResult
            },
            arg_1: {
                0: kazoo.interfaces.IAsyncResult
                1: kazoo.interfaces.IAsyncResult
                2: kazoo.interfaces.IAsyncResult
            },
        }
    """
    while True:
        ready = []
        for asyncs_per_host in asyncs.values():
            async_results = asyncs_per_host.values()
            ready.extend(map(lambda a: a.ready(), async_results))
            
        if all(ready):
            break
            
    return True