Again, if you adopt the ```__slots___``` approach, this also changes:
```
for key, value in state.items():
    setattr(self, key, value)
```
... or something along those lines.