Why subclass dict instead of using first-class attributes? It looks like a pretty standard class otherwise.