refactoring

Game is now an abstract class and listeners are handled there