Pull Request to add Factory and Registry