There is often confusion between implicit invocation and
indirect invocation
Calling a virtual function is a good example of indirect
invocation
The calling function doesnt know the precise callee,
but it knows it is there and that there is
only one
Not true in general in implicit invocation
An announcing component should not use (in the Parnas sense) any responding components
This is extremely difficult to define precisely
Roughly, the post-condition of the announcing component
should not depend on any computation of the
implicitly invoked components