Like a BlackBox, except that the ComponentObjectModel also allows parameterization or even extension of the component. ---- See AspectOrientedProgramming