Closed
Description
Current Situation
Currently the context manager for the layout is not async even though its render and deliver methods are async. I'm not quite sure why I thought this was a good idea. Technically the context methods don't need to be async, but the mismatch is odd. Additionally, if the context methods were async, we could ensure that all effects are completed before exiting the context.
Proposed Actions
Switch the context management methods to be async and wait for effects to complete before exiting.