Fixed: Public snapshots should only be taken of *public* hydratables; snapshots are now all taken at the end of replay and not *during* replay (except for IsComplete hydratables).