It's more or less just a result of having the module.exports be the constructor instead of a module object, upon which a constructor lives.

The `debug` property gives an easy dependency injection hook for unit tests.