Я сейчас пытался придумать вариант с синхронизацией - хранить эталонный изолированный DocumentFragment с поддеревом и хранить массивы событий и актуальные значения атрибутов там, обновлять атрибуты в самом шаблоне, сравнивая DOM деревья при изменении обработчика...
Все эти варианты плохи по производительности, а главное - как быть, если программист попытается установить обработчик для элемента, лежащего внутри другого элемента, а тот внутри корневого элемента коллекции?
В шаблоне можно задать обработчик на любой уровень вложенности, но в шаблоне дочерний элемент коллекции (он кстати может быть не один, а группой сестринских узлов) один, а в реальном DOM он уже идёт N раз (или N * [число элементов в шаблоне в корневом элементе]), где N - размер коллекции. И как быть с переназначением, где хранить новые версии обработчиков? В шаблоне нельзя, создавать поддерево - так оно не будет постоянным, потому что коллекция динамична, члены добавляются и удаляются, плюс может меняться окно просмотра (range).