Update Repository to expose snapshot public methods.
Also adding integration test.
updating README