using socket.io for now, might change to primus at a later date