Yeah, exactly - `data` definitely and probably some other private variables for caching that will be useful during implementation, so just completely getting it from `__dict__` I think won't be enough.  

My reasoning for this scheme is that we want the frame specifiers to be immutible (at least initially), which is easily implemented as read-only properties, but is much harder to enforce if `frame_attributes` actually stores the vales (because even if the frame object has immutible/read-only attributes, it's easy to modify the `dict` in-place).  So this seemed like a decent compromise - it enables something like
```'
for nm in frame. frame_attr_names:
    val = gettattr(nm, frame)
    #... do something with val and maybe nm
```
I admit that's a bit more awkward than dictionary-style access, though, so do you know of a straigthforward way to implement a "read-only dictionary" backed by attributes like this?  If not, this seems the easiest thing to do.