I'm doing this on a project I was pulled in on. I have 5 sizable behaviors, all copy pasted. I finished merging them this weekend.
"When you find yourself making the same enhancement in many places".
Or fixing the same mistake in several locations, which is happens now in my case.
One of the first things I learned as a programmer was "Did you fix it everywhere?" Then, later, I realized how nice it was to have only one place that it needed to be fixed.