Move word variations logic into its own class