It will now run the sim on a separate loop powered by setTimeout instead of trying to do it inline with the frame updating