Я предположил, что модель с сущностями эффектора это мультимножество.
Соот оно может быть как
Union(S,T) — init file
Intersection(S,T) — тут, скорей всего будут циклические зависимости
Difference(S,T) — это модели, только с readonly api.
Subset(S,T) — это fork или templates
для текущей имплементации эффектора, описанные тобой категории реализуются через обработку графа, то есть изначально в нём таких сущностей нет, но можно сделать представление, в котором бы они были