Made the module strict-safe, by avoiding arguments.callee; unfortunately, this.inherits() is a little more cumbersome to use