Moved the responsibility for managing a Port into the BaseClient, so that clients always have a Port available for communication; changed to 'connect' / 'disconnect' from 'addOutput'.