Nice.  The real implementation of this may use some kind of specialized "thread pool-ish thing" where I can control/refresh/block-ouptut to the console so we don't have chaos *and* we don't have the really odd single-threaded event loop I'm using now.