For a connection 'c', if c.connected() == true prior to calling
c.disconnect();
after which c.connected() == false, how can connection::disconnect() be considered a "const" member function since it clearly changes the observable state of a connection?