App.trainSystem() tests and cleanup

- Added objects with constructors to App constructor and tests
- Simplified App.generateTrainingData() callback calls