Adding an async phase to the object initialization lifecycle.
When objects need async data during initialization (e.g., fetching from cloud storage, API calls), the current synchronous initialization flow (init() → finalInit() → afterInit()) doesn't accommodate this cleanly.
Add an asyncFinalInit() phase that runs after synchronous initialization but before the object is considered "fully ready."
isFullyInitialized flagasyncFinalInit depends on object B's asyncFinalInit, ordering becomes complexasyncFinalInitvalidationReady state that skips validation when falseasyncFinalInit completes?asyncFinalInit completesManifest-Based Metadata: For the specific case of lazy-loaded cloud objects, storing display metadata (title, subtitle) in a manifest allows stubs to display correctly without fetching full data. The data is synchronously available — just stored in a different place.
Async Closures for Options: Add validItemsAsyncClosure to slots/options that returns a Promise. The options node shows "Loading..." until the closure resolves.
asyncFinalInit be opt-in per class, or a universal phase?loadFromRecord flow?useEffect for async operations after render.task modifier for async work tied to view lifecycleViewModel with init blocks and coroutine scopes