AbstractFactory eerste goede versie