addding events loop, based on reactive-banana-glfw