Introducing event loops