Putting it in a box

My company has asked us to create a program that would be able to be
customized then implemented many times. We have a core code base
which includes the entire MVC structure. We would like to have that
core separated from the customizations (kept in a box) but still give
the flexibility to create your own entire set of MVC to work with our
core. I know I can't make plugins with Controllers and Models, but
that's kinda the idea we are looking for. I already know about
engines, and that is perfect, but we are a little worried about the
future. The last thing I need is to spend 12 months on a project that
is dependent upon someone else's plugin.

What are your thoughts? Is there another approach to enable this kind
of plugin-type functionality with Controllers and Models?

Thanks!

Gary Winklosky wrote:

You can write plugins that generate controllers, models, views,
migration scripts based on templates in your plugin. If your core is
stable that could be an option.

Could you point me in a direction for more information about this? It
sounds like it's exactly what I need.