SocketMessage is now a class hierarchy