Snapshot commit.

Refs #15
Refs #20
Refs #22
Refs #27