def step(self, timeout=None):
        raise NotImplementedError('abstract')
TODO in mac/linux: return True if didn't time out
dataset/ETHPy150Open ardekantur/pyglet/pyglet/app/base.py/PlatformEventLoop.step