J
Well, I guess if you're overloaded with options and features, that would justify breaking that one tool into several, each of which doing a subset of the functions of the original one. If I classified the behavior I know of that that tool has, in order of most benign to most powerful, it would be:
Node selection
Translation of selected nodes
Translation of segments bounded by selected nodes by selecting segment directly
Conversion of straight segments to Bezier curves
Deforming Bezier curves (unknown algorithm)
The first two classes could be combined into one tool (I think this is Illustrator's white arrow funcitonality)
The third should be a class in itself. Converting a data type is very different than selecting and translation. May not be invertible.
The fourth is available in Illustrator's white arrow-sort of. In Illustrator's, the slope of the Bezier control points that are not on the curve remains constant. It simply extends or shrinks them. This is very important because you usually know the slope at the end point of a curve. Dragging the curve with that constraint is really valuable. I'm not sure what your algorithm is, but decoupling the terminal slopes from the curve translation allows you to (1) put down the curve with slopes where you know them and (2) optimally fit the curve with these boundary conditions to, say a curve in an image.
That functionality could be put in the node selection tool if you divided off the datatype conversion to a separate tool.