У меня была похожая проблема в Node.js, когда мне приходилось динамически создавать различные объекты-обработчики в зависимости от данных.Сначала я собрал все доступные обработчики, которые были реализованы в виде отдельных модулей, в объекте.В простом случае это может быть жестко закодировано следующим образом.
var handlers = {
handlerX : require('HandlerX'),
handlerY : require('HandlerY')
};
Затем, когда мне приходилось создавать экземпляр обработчика, я делал это так:
var handlername = getHandlerName()
var handler = new handlers[handlername]();
Конечно, это работаетесли вы знаете, или можете программно определить список всех объектов, которые вам нужно создать.