Complete refactoring of ModelTree methods

I'm now less ashamed of my code.
Add descriptive tooltips