An application that exposes programmable automation objects to other applications, which are called "automation clients." Exposing programmable objects enables clients to "automate" certain functions by directly accessing those objects and using the services they make available. For example, a word processor might expose its spell-checking functionality so that other programs can use it.