Versioning catalog items (take 2)

Leaving here for early feedback.


Supersedes #92