Data Record/Property architecture
DataRecordInterface and DataPropertyInterface abstract the data representation used for data being migrated - DataRecordInterface is the output of extractors and input to loaders, while DataPropertyInterface is the input and output of transformers. Besides any second thoughts on naming, let's nail down just what these interfaces and basic implementations should look like. For example, mutability - as a first pass, properties are currently immutable, but records are not (properties may be added to or removed from them). Also, should a dot notation to retrieve nested properties be required by the interface?
Edited by Soong ETL ecosystem