Mixin ECMAScript 5 compatible
There is a small difference between ECMAScript 3 and 5 described here: http://www.nczonline.net/blog/2012/12/11/are-your-mixins-ecmascript-5-compatible/?utm_source=javascriptweekly&utm_medium=email Solution: function mixin(receiver, supplier) { if (Object.keys) { Object.keys(supplier).forEach(function(property) { Object.defineProperty( receiver, property, Object.getOwnPropertyDescriptor(supplier, property) ); }); } else { for (var property in supplier) { if (supplier.hasOwnProperty(property)) { receiver[property] = supplier[property]; } } } }