Update & refactor factories to support keywords, locales & groups