Might be worth mentioning in an inline comment that `cropThumbnail` will also take care of applying the thumbnail to the context when preview generation is completed. Otherwise, I wouldn't have any problem with taking the `setThumbnail` duty away from `cropThumbnail` either.