lib/mixin.js
function Mixin_setInstanceKey(hostClass, method, instanceKey) {
    check(hostClass, Function);
    check(instanceKey, Match.IdentifierString);

    var prop = INSTANCE_PROPERTIES_MAP,
        instanceKeys = hostClass[prop] = hostClass[prop] || {};

    if (instanceKeys[method.name])
        throw new Error('Mixin: instance property for method with name '
            + method.name + ' is already set');

    instanceKeys[method.name] = instanceKey;
}
function Mixin_setInstanceKey(hostClass, method, instanceKey) {
    check(hostClass, Function);
    check(instanceKey, Match.IdentifierString);

    var prop = INSTANCE_PROPERTIES_MAP,
        instanceKeys = hostClass[prop] = hostClass[prop] || {};

    if (instanceKeys[method.name])
        throw new Error('Mixin: instance property for method with name '
            + method.name + ' is already set');

    instanceKeys[method.name] = instanceKey;
}
function Mixin_setInstanceKey ( hostClass , method , instanceKey ) { check ( hostClass , Function ) ; check ( instanceKey , Match . IdentifierString ) ; var prop = INSTANCE_PROPERTIES_MAP , instanceKeys = hostClass [ prop ] = hostClass [ prop ] || { } ; if ( instanceKeys [ method . name ] ) throw new Error ( 'Mixin: instance property for method with name ' + method . name + ' is already set' ) ; instanceKeys [ method . name ] = instanceKey ; }
Sets mixin instance property name on the host class
Can be called only once

@private
@param {Function} this Mixin subclass (not instance)
@param {Function} hostClass
@param {String} instanceKey
Sets mixin instance property name on the host class Can be called only once