[MRG] Avoid duplicated methods whenever possible + more robust parameter passing

The main goal of this pr is to ease maintenance.
Yes, that would be cleaner (marginally, I admit).