Repository Pattern

A sample indicating the use of repository pattern to get data from cache
and a data store, designed such that replacing any of the
cache/datastore prociders can be easily switched out