Using a LineRange object, mostly for readability
Variable class somewhat simplified with new approach
VariableSorter using the simplified and more robust Variable class
Separate class for generating the extracted method piece by piece from data on variable usage
CodeGenerator generates the refactored code segments, CodeEditor is for inserting them into the document
The ExtractMethod class now handles the overall process, delegating the steps to the others
Command class for the editortools app and Vim script