I'd like to outline that I consider the approach of developing a behavioural engine as an intra application integration pattern:
1 to encapsulate the part of the application in charge of defining what the application itself should do in a defined, restricted, non entire application pervasive scope of objects
2 to create as a conseguence of point 1, an interface between the behavioural engine and the auxiliary objects using or being used by the behavioural engine itself. In the economy of the application, these classes not being part of the engine can be grouped up in a so called "shell"
Example of this is Linux: a kernel and a shell to allow the user to invoke kernel functionalities via pre defined paths.