Hmm the drawback here is that we'll have an attribute (`_c`) defined on every instance of this class which is used only to initialize the value in `_d` which seems like a waste given that there could be many context objects. That along with the required `__attrs_post_init__` and I'm not sure if we gain much here from using attr. I think it's fine without. WDYT?