docs: def to_dict(self, properties=None):
          """Return a dictionary containing Assay data.
  
          If the properties parameter is not specified, everything is included.
  
          :param properties: (optional) A list of the desired properties.
          """
          if not properties:
              properties = [p for p in dir(Assay) if isinstance(getattr(Assay, p), property)]
          return {p: getattr(self, p) for p in properties}