Ready to review.

I've tried to explain most of the code in the code.

I think that it covers more or less all requirements, But due to the lack of time, may be I've taken some "licenses".

TODO list:
- Better error handling
- Use pagination from the API to load more pictures.

Thanks for your time.

Hubiera estado genial si hubieras hecho el delegate publico para poder inyectarle el delegate.
Ademas de haber creado el getter de ese delegate con lazzy loading por si desde fuera no se le inyectara esa dependencia.