Separated the test charset from the protocol charset;
Code style changes;
Changed the abstract classes to interfaces with default methods;
Added the rest of the ConnectionApi method stubs;