AnyEvent is not an event model itself, it only interfaces to whatever event model the main program happens to use, in a pragmatic way. For event models, the statement "there can only be one" is a bitter reality: In general, only one event loop can be active at the same time in a process. This module cannot change this, but it can hide the differences between them. . The goal of AnyEvent is to offer module authors the ability to do event programming (waiting for I/O or timer events) without subscribing to a religion, a way of living, and most importantly: without forcing your module users into the same thing by forcing them to use the same event model you use.