code: function(_super, _fun) {
        if(!_super || typeof _fun !== 'function') return _fun;
  
        return function() {
          var oldSuper = this.$super;
          try {
            this.$super = _super;
            return _fun.apply(this, arguments);
          } finally {
            this.$super = oldSuper;
          }
        };
      }
docs: @memberof Utils
  
  @description
  
  Override a property value, making overriden function available as this.$super
  
  @param  {function} _super Original value
  @param  {mixed} _fun New property value
  @return {mixed} Value returned by new function