Halt! - implementing stopping the connection

Since this is ref-counted, stop should never be running while the destructor is called. Perhaps we can assert that we don't get a canceled task.