pipeline constructor now topologically sorts subconfigurations so subobjects can be constructed in proper order