1.Generate the temp file name from the request url string. 2. Override t...

...he setter of targetPath and do all the stuff related to targetPath in the custom setter instead of initializer 3. overriding the designated initializer of superclass

I am still thinking on the best place to assert targetPath != nil before the operation is enqueued