Added subComponents field to make it easy to privatize sub components.