Split update task into smaller chunks

Split the update task into smaller chunks with more granularity/hooks.
This update should not break backwards compability since vlad:update does exactly the same thing as before.