advice.js
function(base, wrapped) {
            return function() {
                var args = [].slice.call(arguments, 0);
                return wrapped.apply(this, [_.bind(base, this)].concat(args));
            };
        }
function(base, wrapped) {
            return function() {
                var args = [].slice.call(arguments, 0);
                return wrapped.apply(this, [_.bind(base, this)].concat(args));
            };
        }
#### around
calls the wrapped function with base function as first argument
on the target object.
@param base {function} Base Function
@param wrapped {function} Wrapped function
@returns {function}