Let add_component handle num_components (otherwise gets out of sync)