I think the problem here is that there's too much syntactic sugar in sessionStorage/localStorage (this is more feedback to HTML5 or WebIDL, and maybe Hixie or others could help to address it).
I can easily replace the object (window.sessionStorage={}), but I can't be told when my sessionStorage is decorated by a new property, because that's not something which is available to JS (gecko has __noSuchMethod__, but there's no watch(sessionStorage, "*", feedback). If there was a way for js objects to be told about property writes then for the most part, they could replace a host's sessionStorage/localStorage with their own object and do what they need. Today, if the HTML5 sessionStorage/localStorage objects relied on (sugar-free) methods only, they wouldn't have a problem. -- No, I'm not advocating this.