feat(generator:factory): Initial factory generator