Сейчас изучаю конструкторы, прототипы и у одной небезызвестной библиотеки встретил такого плана код:
new go.Binding("points").makeTwoWay()
если как сделать 
new MyClass();
 я понимаю,код вот:
function MyClassl(name) {
  this.name = name;
  this.canWalk = true;
}
var animal = new MyClass();
, то как сделать
new MyClass.Module1();
 не понимаю, пробовал вот так:
function MyClass() {
  // вспомогательная переменная
  var phrase = "Привет";
  this.Module1 = function() {
    alert( phrase ); // использование
  };
}
new MyClass.Module1();
так не работает, пробовал так:
function MyClass() {
  this.prm = "test1";
function Module1() {
      return "Module1";
    }
  return { Module1: Module1 };  
}
  при вызове 
alert( new MyClass.Module1() );
 ничего не срабатывает.
И видел, что некоторые делают еще так:
new go.Binding("points").makeTwoWay(),
На сайте в разделе по конструкторам не нашел такое, и хотело бы узнать, зачем делаются три такие конструкции и как они так делаются, что можно вызвать new MyClass.Module1.Submodule1;