Couldn't this just be a dictionary/OrdererdDict? I don't see the necessity for a deco.