Mixins, Forwarding, and Delegation in JavaScript
raganwald.com
raganwald.com
Meta-programming is almost always scary looking regardless of language. But once written well using it is generally easy and I can ignore it and get back to work.
However, I think there are better methods available. For example I would much prefer to organise related behaviour using Node modules (using Browserify if it’s a client app), which give you an extremely understandable way to group related behaviour AND hide private state.