┌─┐ │ │ └┬┘ │ ╔════╧═══╗ ════════╣ Layer 1╠═════════ ╚════╤═══╝ │ ╔══════════╧═══════════╗ ║{{ ░║ ║component a1 as a1 { ║ ║} ║ ║component b1 as b1 { ║ ║} ║ ║ ║ ║a1->b1 ║ ║ ║ ║}} ║ ╚══════════╤═══════════╝ │ ╔════╧═══╗ ════════╣ Layer 2╠═════════ ╚════╤═══╝ │ ╔══════════╧═══════════╗ ║{{ ░║ ║component a2 as a2 { ║ ║} ║ ║component b2 as b2 { ║ ║} ║ ║b2->a2 ║ ║}} ║ ╚══════════╤═══════════╝ │