Reverse the way frontends/event loops work