refactor more dialogue function from worker to manager