Qi4j makes a separation of the public interfaces into three categories.
The Core API defines the application's view of the running system.
There is no fixed framework that is started automatically by Qi4j. Instead Qi4j allows the application to set it up in many difference ways, and the Runtime Bootstrap exposes the system to enable this initialization.
Extensions are hidden from the applications, and has their own view of the Qi4j Runtime since they a much closer interaction with the system.