ApplicationAssembly assembly = applicationFactory.newApplicationAssembly();
assembly.setMode( mode );
LayerAssembly webLayer = assembly.layer( "WebLayer" );
new PagesModule().assemble( webLayer.module( "PagesModule" ) );
LayerAssembly domainLayer = assembly.layer( "DomainLayer" );
new RentalModule().assemble( domainLayer.module( "RentalModule" ) );
LayerAssembly infraLayer = assembly.layer( "InfraLayer" );
new StorageModule().assemble( infraLayer.module( "StorageModule" ) );
webLayer.uses( domainLayer );
domainLayer.uses( infraLayer );