Session can be created from client, currently reuses the same
websocket connection, so it would be shared among instances. Sessions
should re-expose everything from Clients (including unbound
subscriptions). Sessions also share their event handlers with clients.
Diversified subscription interfaces, now there are Subscriber
(subscribeFor(Address), subscribeAll()), and BoundSubscriber
(subscribe()).
TODO:
Split ledger connection into LedgerReader/LedgerWriter.
Figure out whether to share websocket connections or not.
Figure out: should sessions have completely separate event tracking?
Figure out: should a single client be used to host multiple
independent sessions, or at most one?
Current Changes:
TODO: