JSDoc: add @private
wrapped constructor in self-invoked function