Refactor view and model classes out of TextHasherController