One of the best options to comply with the existing architecture is to write a plugin using python, then wrap it with boost python. I've used it a lot and it is extremely easy to wrap C++ code in Python and call the python interpreter (thus your plugin) from C++.
I usually write code in Python, profile it and write in C++ the functions that are more demanding. With boost one can easily have a C++ code (the plugin interface) that calls Python (your plugin) that calls some other C++ functions for time-critical applications!