add complete callback when fetching from cache
* added tests for complete callback