Other API breakage fixed (constructors restored). In this case we can do https://gist.github.com/develar/6292573, but I don't like this solution (abstract method is not declared as abstract, type cast).

>> Maybe we could as only transport implementation will extend this at most cases
I am agree. It is low level.