Modularity, engines and loading

Hi,

I am working on blankapplication.org (an OpenSource CMS 2.0). I would
like to add an extension behaviour to it as it is done on Spree. I
thought initially to plug new addons using engines but I came to a
loading problem: how can I override controllers/models/views from the
main app/ by those present in the engines. The native behaviour is just
the opposite: you override controllers/models/views from the engine in
the main app/.

As far as I have understood on Spree, everything is built in what they
call extensions (kind of engines in fact). Consequently, when you tune
your spree, you can make it directly from the main app/ folder and …
override engines parts.

OK

Does anybody have an idea about that? Can I use something like
ActiveSupport::Dependencies.load_path to change the overriding order?

After 2 days on google and forums I havent found anything relevant. I
need human beings now!

Cheers,

Vzmind