Thanks. I was writing an application that had unrelated components that all acted like view models.
I looked at existing mixin libraries, but found some that either injected themselves into the prototype chain or patched Function.prototype to let mixees customize behavior. I didn't like that, so I thought of this approach.
The rest has been a continuous process of simplification, but I never got back to writing that old application :).