У меня есть 3 объекта.
netBuilder Numbering NumberingMethodDefault
Метод наследования взят с местной статьи.
http://javascript.ru/tutorial/object/inheritance
Ф-я extend и mixin.
extend: function (Child, Parent) {
  var F = function () {};
  F.prototype = Parent.prototype;
  Child.prototype = new F();
  Child.prototype.constructor = Child;
  Child.superclass = Parent.prototype;
  this.mixin(Child, Parent);
},
/**
 * @param {type} dst
 * @param {type} src
 * @returns {undefined}
 */
mixin: function (dst, src) {
  var tobj = {};
  for (var x in src) {
    if ((typeof tobj[x] == "undefined") || (tobj[x] != src[x])) {
      dst[x] = src[x];
    }
  }
  if (document.all && !document.isOpera) {
    var p = src.toString;
    if (typeof p == "function" && p != dst.toString && p != tobj.toString &&
      p != "\nfunction toString() {\n    [native code]\n}\n") {
      dst.toString = src.toString;
    }
  }
}
Я делаю наследование 
Numbering extends from netBuilder 
NumberingMethodDefault extends from Numbering.
oopUtility.extend(Numbering, netBuilder);
oopUtility.extend(NumberingMethodDefault, Numbering);
И вызываю где надо суперклассы конечно же.
Numbering.superclass.constructor.apply(this, arguments);
NumberingMethodDefault.superclass.constructor.apply(this, arguments);
Numbering имеет метод setNumber(). У меня есть доступ в Numbering к netBuilder методам, но в NumberingMethodDefault я не могу выполнить метод из Numbering setNumber().
Uncaught TypeError: Object #<NumberingMethodDefault> has no method 'setNumber'
Тогда я вывел console.log() что же в суперклассе NumberingMethodDefault
console.log(NumberingMethodDefault.superclass);
//and it was netBuilder, not Numbering! о_О
Там почему-то netBuilder, а не Numbering. Хотя в статье описывается, что должно работать с цепочкой и в 3 объекта.
Как заставить работать наследование для цепочки 3 и более?