More separation of the protocol and remote layers than was done in issue #106. Settings are passed to the remote via command-line parameters rather than in the protocol.