def METHOD_NAME(self, item: Dict):
    """
    Generic process items to process a dictionary using
    a map function
    """
    self.logger.debug(f"Processing: {item[self.source.key]}")
    time_start = time()
    try:
        with Timeout(seconds=self.timeout):
            processed = dict(self.unary_function(item))
            processed.update({"state": "successful"})
        for k in [self.source.key, self.source.last_updated_field]:
            if k in processed:
                del processed[k]
    except Exception as e:
        self.logger.error(traceback.format_exc())
        processed = {"error": str(e), "state": "failed"}
    time_end = time()
    key, last_updated_field = self.source.key, self.source.last_updated_field
    out = {
        self.target.key: item[key],
        self.target.last_updated_field: self.source._lu_func[0](item.get(last_updated_field, datetime.utcnow())),
    }
    if self.store_process_time:
        out["_process_time"] = time_end - time_start
    out.update(processed)
    return out