Provides a framework for passing data between (possibly distributed) software components on an ad-hoc or scheduled/periodic fashion.