Actually, we should never be returning NOT_READY in this case, even if we are waiting for an external resource to load. ImgDrawResult are only about the result of drawing images. NOT_READY means that we tried to draw an image but there wasn't a decoded version around (even partially decoded), but if we had passed (or pass now or in the future) the sync decode flag to imagelib it could decode the image and give us the decoded image. If we are waiting for an external resource to load that is definitely not true, we can't sync decode anything because we are waiting for it to load. So we shouldn't be returning NOT_READY here.
Returning NOT_READY "works" because of this block