Make tests pass
Refactor Subscriber

Optional settings for custom heartbeat in case of broken servers.
Return error instead of only logging where we can't continue.

Add simple event type.

Allow channels for both read and write to websocket