refactor multiworker to use persist manager