Even after reading RIP's article, I'm not convinced about using "install" as a name. Just because "it was always done that way" or because "everybdy's doing it that way" doesn't mean it's the best solution or even right :)

But anyway, I can adapt, so please feel free to choose the naming you prefer, I'll follow. I was just saying :)

Regarding "provider" and "having params for subclasses": I wrote them there just for the sake of my argument about naming. I agree with you on both details. (That's why the "Speaking from the top of my head here" was there ;)