The model should not be doing the key event changes. It should be modified such that the keyEvent handler has its own class.