WIP: cache response and use it. still not very fast because of all the i...

...con requests
from MDN:
```
interface Storage {
  readonly attribute unsigned long length;
  [IndexGetter] DOMString key(in unsigned long index);
  [NameGetter] DOMString getItem(in DOMString key);
  [NameSetter] void setItem(in DOMString key, in DOMString data);
  [NameDeleter] void removeItem(in DOMString key);
  void clear();
};
```
localStorage keys are `DOMString` instances, which are `String`, so I think we're good