some extras + session initialize method
new abstract Transport class
session could create transport instance
WebSocketTransport base class