advice.js
function(base, key, value) {
            var extBase = base;
            if (typeof extBase == 'function')
                extBase = base.prototype;
            if (_.isString(key)) {
                var temp = key;
                key = {};
                key[temp] = value;
            }
            _.extend(extBase, key);
            return base;
        }
function(base, key, value) {
            var extBase = base;
            if (typeof extBase == 'function')
                extBase = base.prototype;
            if (_.isString(key)) {
                var temp = key;
                key = {};
                key[temp] = value;
            }
            _.extend(extBase, key);
            return base;
        }
#### clobber
Extend an object with a key-value pair or another object.
on the target object.
@param base {object|function} Base Object
@param key {string|object} Either key to extend or an object to extend with
@param value {object} (Optional) value to associate with key in base
@returns {object|function}