I don't understand.
The `settings.createLock().set(cset);` call is asynchronous, 
why do you think put the observer after that line implies **listen changes after value is restored.**?