Commit AbstractDataItem

File 2/8 of initial code