Differentiate between the stream closing being closed remotely and by us in the client
Update manager to handle new return values
Add function to shutdown client
Add set params method, which restarts the client if needed
Only care about the current client when dealing with info messages
Minor refactor to spec to show default (empty) params are used if not specified
Add callback stuff to manager