Better handling of multiple generate manipulation calls

$testImage = $image->setWidth(444)->setHeight(333)->croppedImage(222,111);

Cached image filenames:
assets/Uploads/_setWidth444/filename.jpg
assets/Uploads/_setWidth444_SetHeight333/filename.jpg
assets/Uploads/_setWidth444_SetHeight333_CroppedImage222111/filename.jpg

Previous cached image filenames:
assets/Uploads/_setWidth444/filename.jpg
assets/Uploads/_resampled/SetHeight333-filename.jpg
assets/Uploads/_resampled/CroppedImage222111-SetHeight333-filename.jpg