My recent game projects have used a GameObject architecture that unifies Component-based GameObjects and Mixin-based inheritance.
Lua is an awesome language, but it has some annoying features that have caused endless frustration for me.
This post describes a method for creating animations in games programmatically, while still retaining composability.
Coroutines can either be stackless or stackful. The terminology is somewhat confusing.