Java service client was introduced. This will be common client library. CoffeeMachineService interface is a proxy interface to service contract document. AbstractCoffeeMachineService class is general service implementation. API uses java.io.Reader and java.io.Writer abstraction and handles character streams only. Library user must connect service with appropriate character streams using void connect(Reader inputReader, Writer outputWriter) method.