Updated ClientInterface to use sockets