breaking out sockets into their own class