With the use of a lambda and a change in switch fallthrough, we can completely eliminate the use of goto within Run().