docs: def add_data(self, data_id=None, default_value=EMPTY, initial_dist=0.0,
                   wait_inputs=False, wildcard=None, function=None, callback=None,
                   description=None, filters=None, await_result=None, **kwargs):
          """
          Add a single data node to the dispatcher.
  
          :param data_id:
              Data node id. If None will be assigned automatically ('unknown<%d>')
              not in dmap.
          :type data_id: str, optional
  
          :param default_value:
              Data node default value. This will be used as input if it is not
              specified as inputs in the ArciDispatch algorithm.
          :type default_value: T, optional
  
          :param initial_dist:
              Initial distance in the ArciDispatch algorithm when the data node
              default value is used.
          :type initial_dist: float, int, optional
  
          :param wait_inputs:
              If True ArciDispatch algorithm stops on the node until it gets all
              input estimations.
          :type wait_inputs: bool, optional
  
          :param wildcard:
              If True, when the data node is used as input and target in the
              ArciDispatch algorithm, the input value will be used as input for
              the connected functions, but not as output.
          :type wildcard: bool, optional
  
          :param function:
              Data node estimation function.
              This can be any function that takes only one dictionary
              (key=function node id, value=estimation of data node) as input and
              return one value that is the estimation of the data node.
          :type function: callable, optional
  
          :param callback:
              Callback function to be called after node estimation.
              This can be any function that takes only one argument that is the
              data node estimation output. It does not return anything.
          :type callback: callable, optional
  
          :param description:
              Data node's description.
          :type description: str, optional
  
          :param filters:
              A list of functions that are invoked after the invocation of the
              main function.
          :type filters: list[function], optional
  
          :param await_result:
              If True the Dispatcher waits data results before assigning them to
              the solution. If a number is defined this is used as `timeout` for
              `Future.result` method [default: False]. Note this is used when
              asynchronous or parallel execution is enable.
          :type await_result: bool|int|float, optional
  
          :param kwargs:
              Set additional node attributes using key=value.
          :type kwargs: keyword arguments, optional
  
          :return:
              Self.
          :rtype: BlueDispatcher
          """
          kwargs.update(_call_kw(locals()))
          self.deferred.append(('add_data', kwargs))
          return self