<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def publish(self, message_type, client_id, client_storage, *args, **kwargs):
 """ Publishes a message Uses `self.pack` instead of 'msgpack' serializer on kombu for backend consistency """

        if self.connection.connected:
            message = self.exchange.Message(
                self.pack(message_type, client_id, client_storage, args, kwargs))
            self.exchange.publish(message, routing_key='')