Finally fix for the save bug.
Redesign of the method system, to share code when it makes sense
Merge remote-tracking branch 'origin/master'