REFACTOR: Separating view logic from application logic
REFACTOR: Break up application into application logic, input modification, and view