merging DataSaver and GenericDataSaver, and DataSaverControl and GenericDataSaverControl
updated error handling in DataSaverControl; removed handleDataNotSaved() as this should never happen, and if it does, it's grounds for an Exception.