Min SDK 3, using async tasks.
Cache strategies now have more responsibility.
Added SourcePreferred strategy - renamed other