Еще назрел вопрос — почему подкомпоненты устанавливаются через параметр модуля (Module.subcomponents), а не Component.subcomponents? Модули воспринимаются более мелкими ветками дерева зависимостей, которые растут от (под)компонентов, а подкомпоненты всегда прикрепляются к другим родительским компонентам. Но тут голова ломается, ибо благодаря такому параметру аннотации подкомпоненты "прикрепляются" к модулям, а не к компонентам.