Ao exportar um novo objeto via require.js: ele realmente cria um "novo" objeto ou apenas retorna uma instância de existente

Vamos supor que eu tenho os módulos A, B e C no require.js. Módulo Um novo objeto de exportação.

define(function() {

    // constructor
    function F() {
        this.prop = 'some';
    }

    // module exports
    return new F();   

});

Os módulos B e C importam a instância de F () de A:

define(['A'], function(f_inst) {
    // code
});

Por alguma razão, preciso que F seja único. Não tenho uma compreensão séria de como o require.js funciona. Então, esta é a minha pergunta: preciso usar padrões singleton para F () neste caso?

questionAnswers(1)

yourAnswerToTheQuestion