Changed so GamePlayEngine doesn't depend any longer on KeyEvent