fixed event dispatcher with gameContext