Trying to better modularize, socket initialization needs to happen somewhere else though