You need to be certain to leave some code that will pause after finishing one event so the ACGI has time to check whether there is another event queued up.
Any ACGI can also run as a CGI, but the reverse is not always true.