Covert the whole app into a mountable engine.
This is a pre-release.
Merge branch 'mountable-engine'