What is a factory in this context? Does it relate to factory methods as existent before?