evented api