A prerequisite to this information is most of the previous C++ type introspection stuff I have been writing about for a while now. Assuming the previous information has been covered, lets move on:
There exists a design of messaging, specifically for C++, of which has minimal downsides and many positive advantages. Ideally messaging should not involve any polling or implicitly required searching (as in searching through game space to see who to message, which requires expensive collision queries). It should also have a very intuitive usage, and not be very complex to work with.
If such a messaging system can be achieved then inter-object communication can be setup, to create game logic, within a scripting language.
Here are some slides I wrote on this topic for my university, but are available for public viewing: