Interesting, as someone who has implemented command line interfaces before. I am curious how this deals with user input interfering with the rendered output. For example if you're displaying a progress bar and the user starts typing or presses "enter".