Added directory removal, and download object no longer have dependency
on the protocol wrapper