optimized to use coroutine
code cleanup
optimize to not require looping through all players to remove player of associated connection
.