refactor TaskConfig to TaskBuilder