lib/super-prop.js
function define(scope, Type, name) {
  var propName        = name || 'super'
    , propInernalName = '_' + propName;

  Object.defineProperty(scope, propName, {
    writeable: false,
    get: function() {
      if(!this[propInernalName]) {
        this[propInernalName] = create(this, Type);
      }
      return this[propInernalName];
    }
  });
}
function define(scope, Type, name) {
  var propName        = name || 'super'
    , propInernalName = '_' + propName;

  Object.defineProperty(scope, propName, {
    writeable: false,
    get: function() {
      if(!this[propInernalName]) {
        this[propInernalName] = create(this, Type);
      }
      return this[propInernalName];
    }
  });
}
function define ( scope , Type , name ) { var propName = name || 'super' , propInernalName = '_' + propName ; Object . defineProperty ( scope , propName , { writeable : false , get : function ( ) { if ( ! this [ propInernalName ] ) { this [ propInernalName ] = create ( this , Type ) ; } return this [ propInernalName ] ; } } ) ; }
Attaches a `super` property to an object
that contains the methods on the supplied
Type bound to the current instance.

@api public
@param {Object} scope - the instance to
bind methos to
@param {Function} Type - the prototype
of the super Type
@param {String} [name] - the name of the
property, defaults to 'super'
Attaches a super property to an object that contains the methods on the supplied Type bound to the current instance .