advice.js
function(base, obj) {
            var extBase = base;
            if (typeof extBase == 'function')
                extBase = base.prototype;
            _.each(obj, function(val, key) {
                extBase[key] = _.extend(_.clone(Advice.findVal(extBase, key)) || {}, val);
            });
            return base;
        }
function(base, obj) {
            var extBase = base;
            if (typeof extBase == 'function')
                extBase = base.prototype;
            _.each(obj, function(val, key) {
                extBase[key] = _.extend(_.clone(Advice.findVal(extBase, key)) || {}, val);
            });
            return base;
        }
#### addToObj
will extend all key-values in a base object,
given another objects key-values (good for 'events')
on the target object.
@param base {object|function} Base Object
@param obj {object} Object used to extend key-values of base
@returns {object|function}