API for developing event-driven programs