Very nice work in encapsulating a common game design pattern. This is an interesting use of your components. They are modules themselves, yes? "DO PROTO" is a new one to me, but seems very useful here.