Better OO model for Task#RepeatPattern