Introduce channels, groups and user tracking in websocket. Scale horizontally using redis as publish-subscribe