Added a ready() compatible with asynchronous loading