# Messaging
`messaging` package defines `Publisher`, `Subscriber` and an aggregate `Pubsub` interface.
`Subscriber` interface defines methods used to subscribe to a message broker such as MQTT or NATS or RabbitMQ.
`Publisher` interface defines methods used to publish messages to a message broker such as MQTT or NATS or RabbitMQ.
`Pubsub` interface is composed of `Publisher` and `Subscriber` interface and can be used to send messages to as well as to receive messages from a message broker.