class_docstr: Task to instruct updating node states.
  
  This is useful for task generators to defer actually updating node states in
  MLMD to the caller, where node state updates can be bundled together with
  other pipeline state changes and committed to MLMD in a single transaciton for
  efficiency.
code: def task_id(self) -> TaskId:
      return (self.task_type_id(), self.node_uid)
  
imports: import abc
  import enum
  from typing import Dict, Hashable, List, Optional, Sequence, Type, TypeVar
  import attr
  from tfx import types
  from tfx.orchestration import node_proto_view
  from tfx.orchestration.experimental.core import env
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import status
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the UpdateNodeStateTask obj's underlying member method code with example usage: obj.task_id() and returns: self,  self