nwillems: and use things like streams and event emitters to manage flow control