I really don't like that... this methods does too much stuff, and too much important stuff. The risk of errors/regressions in this area is very, high, in my opinion.

Counter-opinion, @andrerom ?