Add a protocol for delegating finish download
Add methods for setup blocks.
Remove session list because no need multiple session in an app.