Made Snapshot functions use callback