Reduce use of Reference for snapshots

It felt quite awkward passing around a `Reference` for snapshots, so this changes them to an `Identifier`