why have the previews nested by module? Is that necessary/needed?
Why not having them (as for mails) available without nesting them, eg:

```python
self.previews.setdefault(preview.name, preview)
```