major refactoring: split Data and DataArray and made DataArray a proper JS array. All automated tests passing again