The solver component do automatically make possible to link lines with their points and dragging first line will drag all linked edges. This is an important design milestone because this rethinking makes the solver component to reach more information which is used for providing more useful hints. Also there is much fewer intervention from the developer standpoint (meaning the old pattern: add shape, solver.generateInterestingGeometry(..), solver.AddGeometry(intersting geometry); was removed as is not needed.
Solver's interesting geometry is based right now by it's function name and also is solved by a factory.
I will work to add more constraints (middle of edge for example, end of edge), add it for more shapes (the canonical ones, also for helper geometry like: horizontal line, vertical line). And at last, but not at least: to find and fix crashes and bugs that appear on this features.