externalized gameloop to migl-gameloop