Decomposing class responsibilities using distance-based method similarity