Implement this interface to create the root class that
is responsible for assembling your entire application.
Model introspectors will instantiate this class and call assemble
to create the application, which will then be visited to get
information about its structure.
Application deployment servers will instantiate this, call assemble,
and then activate the created application, which will be the runtime
instance that forms your application.