Refactor the logic of UpdateManager to take into account data directories and
to optimize disk usage by running parallel updates for all available directories