docs: 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')