code: def append_if_provenance_step(
              self, title, description, timestamp=None, data=None):
          
          step = IFProvenanceStep(title, description, timestamp, data)
          self._steps.append(step)
          return step.time
docs: Append a new IF provenance step.
  
          :param title: the title of the IF ProvenanceStep
          :type title: str
  
          :param description: the description of the IF ProvenanceStep
          :type description: str
  
          :param timestamp: the time of the IF ProvenanceStep
          :type timestamp: datetime, None
  
          :param data: The data of the IF ProvenanceStep
          :type data: dict
  
          :returns: the time of the IF ProvenanceStep
          :rtype: datetime