This article was a follow up to the article Logic over Time in which I described why new language features, such as coroutines, can help game programmers write more readable and robust state machines. In it, I talk in more details about the specifics of my implementation of coroutines and its advantages and uses beyond state machines themselves. Specifically, I talk about concurrency and synchronization.
Read the rest of this article on Gamasutra
Source code on Github