I\'m writing code that I want to be usable in interactive shell, like IPython, that means that the code needs to be able to handle a completely asynchronous, and unexpected,