Added FactoryAttribute class