docs: def add(self, data_source, module, package=None):
          """
          Add data_source to model. Tries to import module, then looks for data
          source class definition.
  
          :param data_source: Name of data source to add.
          :type data_source: str
          :param module: Module in which data source resides. Can be absolute or
              relative. See :func:`importlib.import_module`
          :type module: str
          :param package: Optional, but must be used if module is relative.
          :type package: str
  
          .. seealso::
              :func:`importlib.import_module`
          """
          super(Data, self).add(data_source, module, package)
          # only update layer info if it is missing!
          if data_source not in self.layer:
              # copy data source parameters to :attr:`Layer.layer`
              self.layer[data_source] = {'module': module, 'package': package}
          # add a place holder for the data source object when it's constructed
          self.objects[data_source] = None