Use a list to store sockets
Separate initialize() and run() functions