Create PlayerFactory by extracting methods from CommandLineRunner
Move generate_players behavior from CommandLineRunner to CommandLineIO; rework PlayerFactory to eliminate dependency on the interface; refactor CommandLineRunner and CommandLineIO