A large distributed system cannot rely on any other part being what one might expect.
Design the parts of your system to reach out into the system and cautiously make use of whatever is found.
Those who favor late-binding often attempt this approach with marginal success at best. The trick is to consider it to be a central (and challenging) architectural element rather than an excuse for brushing off launch sequence issues. Contrast with LaunchScript. -- WardCunningham
I worked on project for the DoD that worked like this -- ErikMeade