issue #22638: Separate building of components out from create function so we can intercept and modify.