code: def _update_data(self, data):
          # type: (Any) -> Dict[str, List]
          
          self.data = data
          child_change_dict = {}
          # Reflect change of data to children
          for name in self.children:
              child_data = getattr(data, name, None)
              if child_data is None:
                  # Deletion
                  child_change_dict[name] = [[]]
              else:
                  # Change
                  child_change_dict[name] = [[], child_data]
          return child_change_dict
docs: Set our data and notify any subscribers of children what has changed
  
          Args:
              data (object): The new data
  
          Returns:
              dict: {child_name: [path_list, optional child_data]} of the change
                  that needs to be passed to a child as a result of this