Break up Extension into child assemblers