provenance plugin

Fixes #242.

- [ ] add tests, fix style
- [ ] get and address feedback
Recommend calling this class something more descriptive like `ItemExt` or `Item`.