title: C++11 observer pattern (signals, slots, events, change broadcaster/listener, or whatever you want to call it)
body: <p>With the changes made in C++11 (such as the inclusion of <code>std::bind</code>), is there a recommended way to implement a simple single-threaded observer pattern without dependence on anything external to the core language or standard library (like <code>boost::signal</code>)?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>If someone could post some code showing how dependence on <code>boost::signal</code> could be reduced using new language features, that would still be very useful.</p>