more optimization updates
all datastore observers are activities
updates run on ui thread
write to DB opration run on different thread