Full documentation for IFactory