separated TodoWebSocketEndPoint into EndPond and EventObserver