Redesign thread API, requires event on loop, fixed event system