Added abstract KeyHandler class