¿Cómo puedo hacer la transición de mi Módulo-Singleton JavaScript a instancias compatibles?

He estado escribiendo una aplicación y he tenido mucho éxito al dividir diferentes piezas de funcionalidad en el llamado patrón "Módulo" en el que tiene un singleton autoejecutable con miembros públicos y privados.

var WidgetModule = (function($, options) {

    // Private variable
    var someVar;

    // Private functions
    function somePrivateFunction() {

    }

    // Define the public members
    var self = {
        init: function() {

        },
        someFunction: function() {

        }
    };

    return self;

})(jQuery, options);

hora me he encontrado con un caso en el que tengo varios módulos de los que me gustaría poder crear varias instancia

Sé que este patrón se basa en el singleton, pero me pregunto si hubo una manera indolora de modificar este patrón para admitir la creación de instancias de ellos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta