code: func (c *Client) TearDown() {
  	if c.GetState() != ConnectedState {
  		return
  	}
  	c.setState(ClosingState)
  	c.tasks <- task{Action: disruptAction}
  
  	c.WaitFor(ClosedEvent)
  }
docs: // Tears down the client - closes the connection and stops
  // listening for connections.