Dispatch completionBlock to main thread when we get a cached image
No need to check if operation is cancelled twice in a row
Remove unused method