code: def setup(self, *args, **kwargs):
          
  
          #BWCOMPAT
          if kwargs.get('topics'):
              if kwargs.get('publishers'):
                  kwargs['publishers'] = kwargs.get('publishers', []) + kwargs.get('topics', [])
              else:
                  kwargs['publishers'] = kwargs.get('topics', [])
              if kwargs.get('subscribers'):
                  kwargs['subscribers'] = kwargs.get('subscribers', []) + kwargs.get('topics', [])
              else:
                  kwargs['subscribers'] = kwargs.get('topics', [])
          kwargs.pop('topics')
  
          # We can now import RosInterface and setup will be done ( we re in another process ).
          # TODO : context to make it cleaner (maybe use zmp.Node context ?)
          if isinstance(self.interface_class, tuple):
              m = None
              class_name = self.interface_class[-1]  # last element is always the class_name
              if len(self.interface_class) >= 3:
                  # load the relative module, will raise ImportError if module cannot be loaded
                  m = importlib.import_module(self.interface_class[1], self.interface_class[0])
              elif len(self.interface_class) == 2:
                  # load the relative module, will raise ImportError if module cannot be loaded
                  m = importlib.import_module(self.interface_class[0])
              # get the class, will raise AttributeError if class cannot be found
              self.interface_class = getattr(m, class_name)
  
          if not (
                  # TODO : we should pre check all the used members are present...
                  hasattr(self.interface_class, 'services')
                  # TODO : etc.
          ):
              raise PyrosException("The interface class is missing some members to be used as an interface. Aborting Setup. {interface_class}".format(**locals()))
  
          self.interface = self.interface_class(*args, **kwargs)
          return self.interface
docs: Dynamically reset the interface to expose the services / topics / params whose names are passed as args
          The interface class can be specified with a module to be dynamically imported
          :param publishers:
          :param subscribers:
          :param services:
          :param topics: BW COMPAT ONLY !
          :param params:
          :return: