Add event queue interface and kqueue implementation