Refactor with new getWord method
Move word methods to a words repository
Add factories