Если вы хотите использовать fa Factory - что я считаю хорошим моментом - вы все равно можете использовать механизм инициализации с использованием объекта конфигурации.
Я бы убрал его из конструктора, ты.
Если вы реализуете метод, подобный следующему, вы можете изменить то, что настраиваете, изменив VO. Это было бы самое простое решение (без использования Factory или подхода, подобного DI)
public function configure(config:MonsterVO):void {
for (var prop :String in config) {
if ( config[prop] != null && this.hasOwnProperty(prop) ) this[prop] = config[prop];
}
}
Обратите внимание, что вам нужно сделать ваши настраиваемые параметры доступными в качестве свойств.