Erro de tipo não capturado: Undefined não é uma função JavaScript Module

Estou tentando passar uma referência a umjQuery Objetar um módulo e está recebendo um erro que diz:TypeError não capturado: undefined não é uma função

Estou trabalhando em umfiddle para tentar entender esse padrão que eu vi, bem como entender protótipo e a nova palavra-chave.

Não tenho certeza do que está causando esse erro. Aqui está o meuHTML eJavaScript junto com umfiddle.

Violino.

HTML:

<div class="js-container" data-options="true"></div>
<div class="js-container" data-options="false"></div>

Javascript:

$('.js-container').each(function (i, element) {
    new MyClass($(element));
    console.log($(element));
});
var MyClass = (function ($element) {
    this.$element;
    console.log(this.$element);    
    this.init();    
    MyClass.prototype.init = function () {
        this.addText();        
        return this;
    };    
    MyClass.prototype.addText = function () {
        var optText = this.$element.attr('data-options');
        this.$element.text(optText);        
        return this;
    };    
}());

Estou tentando aprender a escrever mais módulos comJavaScript. Portanto, informe-me se houver algo mais incorreto. Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion