not naming params in Widget as 'event' since it shadows a function name in the parent QWidget
the Loop uses fixed time sliced to update world