Proper definition and usage of the abstract Trainer template class
Created by: laurentes
For the major release 1.2.0, I would be in favour of consolidating the abstract Trainer class. There are trainer class that do not inherit from it. In this case, inheritance might help us to uniformise the API.