Provides an abstraction layer for messaging.