task: implement SIOClient class