define the EventPoller interface