Remake AbstractFactory, don't save any lists in the Main