In short: Great job with a minor missing bit (handling of deleted tasks).
:-) thanks for your good words. Also thanks for mentioning the handling of deleted/renamed tasks(I totally forgot that). I fixed it and now the deleted/renamed tasks are removed from UDD once the blend_metadata_gathener run.
As you said I keep a list of successfully imported tasks and afterwards I remove any task which does not exist into the list.
Shouldn't we also handle the same way deleted/renamed Blends? (a not so often case but it can happen)
In case of blends-all arguement (which updates all the Blends) we keep all the successfully imported Blends to a list and then remove the ones which do not exist to the latter.