code: def child_context(self, *args, **kwargs):
          
  
          # Now we can extract config values
          expected_args = {
              'services': [],
              'topics': [],  # bwcompat
              'subscribers': [],
              'publishers': [],
              'params': [],
              # TODO : all of them !
          }
  
          ifargs = {
              arg: self.config_handler.config.get(arg.upper(), default) for arg, default in expected_args.items()
          }
  
          # overriding with kwargs
          ifargs.update(kwargs)
  
          # storing passed args in config in case of reset
  
          # calling setup on child context enter call
          if self.interface is None:
              #for BW compat
              # TODO : change API to use the child_context from pyzmp coprocess
              self.setup(*args, **ifargs)
  
          with super(PyrosBase, self).child_context(*args, **kwargs) as cctxt:
              yield cctxt
docs: Context setup first in child process, before returning from start() call in parent.
          Result is passed in as argument of update
          :return: