Pool construction depends on the install request now, so only required packages get loaded, add some structure for future asynchronously loading composer repositories