1 stacked Ctrl-T, Ctrl-O, hi Enter: sent ["hi"]; composer ""; status "prompt: admitted"
  order: observe -> takeover start -> takeover end -> observe -> prompt hi start -> prompt hi end
2 takeover throws, via input(): sent []; composer "hi"; status "not admitted: controller"
  order: observe -> takeover start -> takeover threw -> call 0 resolved -> call 1 resolved
3 takeover throws, via key(): sent []; composer "hi"; status "not admitted: controller"
  order: observe -> takeover start -> takeover threw -> call 0 threw not connected -> call 1 resolved
4 earlier Ctrl-G throws: sent ["hi"]; composer ""; status "prompt: admitted"
  order: observe -> interrupt start -> interrupt end -> call 0 threw interrupt broke -> takeover start -> takeover end -> prompt hi start -> prompt hi end -> call 1 resolved -> call 2 resolved
5 paste split across held chunks: sent ["x\ry"]; composer ""; status "prompt: admitted"
  order: observe -> takeover start -> takeover end -> prompt x
y start -> prompt x
y end
6 input while the drained prompt runs: sent ["a","b"]; composer ""; status "prompt: admitted"
  order: observe -> takeover start -> takeover end -> prompt a start -> prompt a end -> prompt b start -> prompt b end
7 Ctrl-C behind a takeover that never answers: quit called after 500 ms: false; held "\u0003"
8 Ctrl-C behind a Ctrl-G that never answers (no hold): quit called after 500 ms: false; held null
