This module is the place where all the protocol specifics gets abstracted
out and creates a structures which are common across protocols. Since,
MQTT is the core protocol that this broker supports, a lot of structs closely
map to what MQTT specifies in its protocol