[WIP] Split update process into steps