For the application composer, a component should provide descriptions of the services that it provides, in addition to the interfaces available for gluing together components. This is an important factor in component reuse and distribution. While external documentation may be sufficient in some cases, we believe that the best place for component documentation is in the component itself. This makes the component truly self-contained. Thus, when the component registers itself with the component repository, it will also register the interfaces for querying the documentation. This will make it possible for the application composer to make queries to the repository such as ``Show me components that implement conjugate gradient solver''.