code: def list_components(self):
          
  
          overlays = list(self._component_overlays)
          items = self.kvstore.get_all()
  
          return overlays + [x[0] for x in items if not x[0].startswith('config:')]
docs: List all of the registered component names.
  
          This list will include all of the permanently stored components as
          well as any temporary components that were added with a temporary=True
          flag in this session.
  
          Returns:
              list of str: The list of component names.
  
              Any of these names can be passed to get_component as is to get the
              corresponding IOTile object.