a compatibility layer for event-driven abstractions