set up a socket controller to make it easier to keep track of all the events