The very last lines worry me a bit though:
// instantiate objects by calling the class
MyClass() // => init!
// allocate blank objects with `new`
new MyClass // nothing logged
Having `MyClass()` and `new MyClass` behave differently is totally unwarranted and will cause lots of confusion.