This enables proper interfacing with underlying OS - MicroPython doesn't run the main loop, OS does, MicroPython just gets called when some event takes place.