GameEvent refactoring to use inheritance to create different types of game events instead of one big class.