Proper async recipe loading