Fixed #1: Make webSocket service generic