а чем плох предложенный ранее подход с двумя диспетчерами? один конфижится при инициализации и не меняется. Другой - динамический - в рантайме attach()/detach(). Вместе они в одном композитном диспетчере
Говнокодеры будут пользоваться вторым, иные первым