Waiting on background events doesn't work in dpython or idpython. I'm pretty sure that both are calling raw_input() and blocking the event loop.
Need to investigate using diesel.util.stream and fitting that into the diesel.interactive code (which dpython and idpython use).