RequireJS: Como definir módulos que contêm uma única "classe"?

Eu tenho várias "classes" JavaScript cada uma implementada em seu próprio arquivo JavaScript. Para o desenvolvimento, esses arquivos são carregados individualmente e para a produção são concatenados, mas nos dois casos eu tenho que definir manualmente uma ordem de carregamento, certificando-me de que B vem depois de A se B usa A. Estou planejando usarRequireJS como uma implementação deMódulos CommonJS / AsynchronousDefinition para resolver esse problema para mim automaticamente.

Existe uma maneira melhor de fazer isso do que definir módulos que cada um exporte uma classe? Caso contrário, como nomear o que o módulo exporta? Um módulo "empregado" que exporta uma classe "Funcionário", como no exemplo abaixo, não pareceSECO o suficiente para mim.

define("employee", ["exports"], function(exports) {
    exports.Employee = function(first, last) {
        this.first = first;
        this.last = last;
    };
});

define("main", ["employee"], function (employee) {
    var john = new employee.Employee("John", "Smith");
});

questionAnswers(2)

yourAnswerToTheQuestion