refactor color request and task