I could not find an in-memory DataModel that supports setPreference / removePreference / refresh. Instead, they all "recreate" a new GenericDataModel anytime one adds or remove preferences. Am I missing something? Shall I build my own?
You aren't missing anything; they generally don't support this operation. I suppose the overall idea is that changing data means recomputing a lot of other things and so should happen via bulk reloads of some underlying data source.