:meth:`.WMessengerOnionCoderLayerProto.decode` method implementation.

		:param envelope: original envelope
		:param session: original session
		:param encoding: encoding to use (default is 'utf-8')
		:param kwargs: additional arguments

		:return: WMessengerTextEnvelope

def decode(self, envelope, session, encoding=None, **kwargs):
		""" :meth:`.WMessengerOnionCoderLayerProto.decode` method implementation.

		:param envelope: original envelope
		:param session: original session
		:param encoding: encoding to use (default is 'utf-8')
		:param kwargs: additional arguments

		:return: WMessengerTextEnvelope
		"""
		message = envelope.message()
		message = message.decode() if encoding is None else message.decode(encoding)
		return WMessengerTextEnvelope(message, meta=envelope)