internal component info structure moved to a separate class.