'''Why should I care?''' This is the driving force behind the separation of components in a system and the creation of descriptive and useful interfaces. For example, say I'm sailing a sailboat with the assistance of the Sailboat 1.0 auto-correction package. I want to sail in a certain direction at a certain speed. The water may be flowing in some unknown direction and with varying speed. The wind may be blowing in some unknown direction and with varying speed. My sailboat will attempt to trim its sails and set its rudder to get me going the heading I want at the speed I want. There is even a small electric prop (a cheat) to assist the boat's way for extreme conditions. All that is great, but why should I care? I just want to set heading and true nautical speed. The boat should do all the rest. The Sailboat 1.0 absolute speed component sets true nautical speed for the boat to move. This may be accomplished through a combination of sail trimming and prop speed, but why should I care? I just want the boat to go this fast. The Sailboat 1.0 absolute direction component sets the actual heading for the boat to move. This may be accomplished by tacking against or jibbing with the wind and playing all kinds of games with the rudder, but why should I care? I just want the boat to go this direction. The Sailboat 1.0 water speed component needs to know how fast the water is moving and what direction. The ambient wind is blowing the surface water around, but why should I care? I just want to know absolute water speed and direction. The wind needs to take care of itself. The Sailboat 1.0 wind speed component needs to know how fast the wind is blowing and what direction. The surface water is churning like crazy, but why should I care? I just want to know absolute wind speed and direction. The water needs to take care of itself. In the end each component takes care of its own responsibility and leaves everything outside of its purview to others. Why should I care? I don't.