MLP: add pythonic trainer classes that allows overloading (cf. #128)