This is about GameCenter. 
Since "the GKLocalPlayerListener protocol inherits the methods from GKChallengeListener, GKInviteEventListener, and GKTurnBasedEventListener. 
In order to handle multiple events" and "do not implement GKChallengeListener, GKInviteEventListener, and GKTurnBasedEventListener directly; implement GKLocalPlayerListener instead. 
You can listen for, and handle multiple events using GKLocalPlayerListener" (these are from apple docs).  
One would expect that after registering the GKLocalPlayerListener after the GKLocalPlayer.localPlayer() has been authenticated, then all the methods in the GKLocalPlayerListener would be called, when the appropriate events happen. 
However, apart from "player(player: GKPlayer, receivedTurnEventForMatch match: GKTurnBasedMatch, didBecomeActive: Bool)", which is called, all the other methods, including "player(player: GKPlayer, matchEnded match: GKTurnBasedMatch)" is never called when such an event occurs.
Do we need to register some other listener or is there something I am missing?
