public void OnPlayersAtDistance( object sender, PlayersAtDistanceArgs args ) { //called from OnPlayerMoved/OnPlayerJoined under the lock //do smth with players from args and call //FindPlayersAtDistance(Player p) for those whos status was changed }