Message is the simple container of String routing key and byte[] message payload. For filtering the message, message payload should be deserialized and it can be cached for another filters. Also, some sink needs specific deserialized format, such as Map<String, Object> or Json string like ElasticSearch.