Remove Fetcher, Introducing TaskQueue

`TaskQueue` manages tasks, and `Tasks::Fetch` does fetch task, as formerly `Fetcher` did!

this new pattern is more suitable, and allow us to introduce more tasks, such as prepare, finalize, etc.