New main event loop.  Make clean after merging, please.