I think the WeightInit stuff should be a in a separate module, not in MLP. Most Model classes can use WeightInit. I think it could make sense to start a root-level pylearn2.weight_init module.