Why not do this with a custom render loop so we get an update every frame?