:meth:`.WMessengerOnionLayerProto.process` implementation

def process(self, envelope, session, mode=None, composer_factory=None, **kwargs):
		""" :meth:`.WMessengerOnionLayerProto.process` implementation
		"""
		if mode == WMessengerComposerLayer.Mode.compose:
			return self.compose(envelope, session, composer_factory, **kwargs)
		elif mode == WMessengerComposerLayer.Mode.decompose:
			return self.decompose(envelope, session, composer_factory, **kwargs)
		raise RuntimeError('Invalid mode was specified')