Add a protocol for delegating finish download

Add methods for setup blocks.
Remove session list because no need multiple session in an app.