some aesthetic changes and refactoring -> IState changed in abstract class WebsocketReceiver