Unify the two PCA trainers into a single class with an optional switch on the constructor