Abstracted snapshot work into interface.