MessageStore keeps output messages in a bounded deque and redraws the display whenever a new item arrives. Its asynchronous callback receives the current messages, separating storage from terminal rendering. section 8.4.1
Delay status display
A delay coroutine appends “Starting delay” before sleeping and “Finished delay” afterward. The callback redraws the stored messages while input remains available.
