I agree with your 3 points, but also recognize that it will take some effort to get there.  In lieu of that, I believe we should re-use what we can now - so that the existing connection class and this new one share as much as possible as we move towards merging the two, eventually.

I see no reason for it to be duplicated, even though it's a somewhat trivial amount of code in question, as the existing decoding methods are already isolated from knowing anything about *how* (or by what vehicle) the data was retrieved.