Then don't keep around the observable, right? To set it: `var myObservable = settings.observable("foo"); myObservable(newValue);` then don't store myObservable.

The issue is that two different parts of the code, written months apart by different people, can accidentally use the API in a way that they break each other. 

There are lots of ways to fix it maybe. Random ideas: you could have two non-interoperable APIs one with and one without observables, and namespace the localStorage labels to ensure they aren't mixed and matched; you could make set() throw if any observables have been created for that label; you could make set() notify all the observables; you could comment set() with `// DO NOT USE THIS if you also use observables, it doesn't notify` (the comment isn't really a good solution, to be clear). Presumably you could also just remove `set()` - is the code even using it right now? - and solve this problem when/if it ever arises.



What I'm saying is why not pick API level 10: http://sweng.the-davies.net/Home/rustys-api-design-manifesto