Плохо ли использовать модуль requireJS в качестве одиночного?

Я планирую использовать следующий шаблон, чтобы использовать модуль на основе requireJS в качестве одиночного. Пожалуйста, обратите внимание, чтоCLASSA возвращает экземпляр типа 'classA', тогда как остальные классыclassB, classC и основной вернуть тип класса из модуля. Все это классы, основанные на классе MooTools.

Идея состоит в том, чтобы использоватьCLASSA как общедоступный синглтон, методы являются просто наполнителями. Есть мысли, если это приемлемый шаблон для использования?

Это вернется, чтобы укусить меня на более позднем этапе? Я еще не пробовал запускать r.js в проекте, поэтому немного волнуюсь и жду совета.

    // classA.js
    define([], function() {
        var classA = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
                this.data = null;
            },

            doSomething: function(param) {
                // some thing.
                this.data = param;
            }
        };

        return new classA();
    });

    // classB.js
    define(["classA"], function(classA) {
        var classB = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
            },

            doSomethingElse: function() {
                // some thing.
                classA.doSomething("Go back to Work Now!");
            }
        };

        return classB;
    });


    // classC.js
    define(["classA"], function(classA) {
        var classB = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
            },

            doSomethingElse: function() {
                // some thing.
                classA.doSomething("Time to Play!");
            }
        };

        return classC;
    });


    // main.js
    define(["classA", "classB", "classC"], function(classA, classB, classC) {
        var main = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
                this.b = new classB();
                this.c = new classC();
            },

            doEverything: function() {
                // some thing.
                this.b.doSomethingElse();
                classA.doSomething("Nap Time!");
            }
        };

        return main;
    });

Большое спасибо заранее ...