code: func NewSource(options ...Option) *Source {
  	src := &Source{
  		records:     make(chan record),
  		maxRetries:  3,
  		concurrency: 1,
  	}
  
  	for _, opt := range options {
  		opt(src)
  	}
  	go src.getRecords()
  	return src
  }
docs: // NewSource creates a pdk.Source for CSV data. The source of the raw data can
  // be set by using Options defined in this package. e.g.
  //
  // src := NewSource(WithURLs([]string{"myfile1.csv", "myfile2.csv", "http://example.com/myfile3.csv"}))