Seems like it is a very old PR and things changed since than.
Currently, we do not provide such abstractions like Trainer etc as there is no unique definition of it as it can be task/config dependent etc. We left that to the user to compose its trainer using one or more Engines for training/validation etc.