I want to share something I learned from programming in Googles Dart language. Every object is an interface, so when creating a mixin one can “tell” the mixin to expect certain data to be present. One simply treats all other objects that the mixin depends on as interfaces, even though they are not. So the mixin “knows” when its dependencies have not been met because there is no implementation present that satisfies it. All one has to do is mixin all the proper objects to make the compiler happy. I thought that this feature was really cool I have no idea if it is unique to Dart, it was probably an influence from small talk or some other language, but it is where I first was introduced to the idea. I thought I would share this since I read somewhere that the Skookum team has thought about adding mixins one day.
Of course, do not let this distract you guys from your current work, I am more excited about the events… I want to see how far I can go with decoupling everything!