code: def removeProdable(self, prodable: Prodable=None, name: str=None) -> Optional[Prodable]:
          
          if prodable:
              self.prodables.remove(prodable)
              return prodable
          elif name:
              for p in self.prodables:
                  if hasattr(p, "name") and getattr(p, "name") == name:
                      prodable = p
                      break
              if prodable:
                  self.prodables.remove(prodable)
                  return prodable
              else:
                  logger.warning("Trying to remove a prodable {} which is not present"
                                 .format(prodable))
          else:
              logger.error("Provide a prodable object or a prodable name")
docs: Remove the specified Prodable object from this Looper's list of Prodables
  
          :param prodable: the Prodable to remove