important commentary on edge-triggeredness
better compatibility with edge triggered eventloop