Dealing with images asynchronously

* Return asset(s) in delegate methods so that we can get more information
* Get and save images in background