Allow directives to provide services to child directives.

This mechanism allows a communication channel to be established between
an ancestor and a descendant directive, allowing for the construction of
compound constructs that involve multiple collaborating directives.