In the Windows API message are sent to windows when an event occurs. The framework supports message handling in two ways.
Old Style: Window::OnMessage()
Every window has its own big window procedure, where all messages run through.
New Style: Window::Bind()
Bind can be used on virtually any function, a global C function, a member function, even a functor.
If you are using C++11, you can also bind lambda expressions.
I probably have to say that I didn't come up with the Bind mechanism all by myself. I first saw it in wxWidgets 2.9, and thought it was a cool idea. It isn't a complete copy though. I tried to keep everything lightweight. There is no queue for msgBase objects, which are only created when a message comes up and a message handler was found.