Existing implementation incorrectly terminates the entire thread. See: http://llk.github.io/scratch-vm/#144142535