refactored asyncpage loading logic from Page to RenderContext