Make DataObject abstract, because it is not meant to be used except for subclasses.