public ApplicationComponentImpl(TargetUi ui, Config config) {
startIntent = new StartIntent(ui);
imageUtils = new ImageUtils(ui, config);
downloadImage = new DownloadImage(ui, imageUtils);
getPath = new GetPath(ui, downloadImage);
<BUG>takePhoto = new TakePhoto(startIntent, ui);
</BUG>
getDimens = new GetDimens(ui, config, getPath);
<BUG>cropImage = new CropImage(ui, config, startIntent, getPath);
</BUG>
saveImage = new SaveImage(ui, config, getPath, getDimens, imageUtils);

public ApplicationComponentImpl(TargetUi ui, Config config) {
startIntent = new StartIntent(ui);
imageUtils = new ImageUtils(ui, config);
downloadImage = new DownloadImage(ui, imageUtils);
getPath = new GetPath(ui, downloadImage);
takePhoto = new TakePhoto(startIntent, ui, imageUtils);
getDimens = new GetDimens(ui, config, getPath);
cropImage = new CropImage(ui, config, startIntent, getPath, imageUtils);
saveImage = new SaveImage(ui, config, getPath, getDimens, imageUtils);
