Returned game data on creation should be not expose private data.
Advanced decoupling with event.
Add constants/enums.
Fix some issues with registerClient

* accidentally result of array-splice stored (wrong clients/sockets "destroyed")
* avoid possible dead lock / infinite loop while deregistering clients and notify all players of this action
Add internal cleaning methods
Use custom events.
rl; DU - Remove loop, don't used.
Fix code issues (linting).