Для меня классы очень похожи на модули NodeJS (CommonJS). У вас может быть много из них, они могут быть повторно использованы, они могут использовать друг друга, и они, как правило, одно в файле.
Что делает модули такими отличными от классов? То, как вы их используете, отличается, и разница в пространстве имен очевидна. Кроме того, они кажутся мне очень похожими, или, может быть, я просто не вижу здесь очевидной выгоды.