Currently, merge_new_data(new_dataset) ignores keys that are in new_dataset but not in the existing self.dataset. We can make this optional and add those keys to self.dataset as new entries if a new argument 'ignore_invalid_keys=False'? + need to add more test cases for this