RP: now the modelObject is a member of component, and it's passed by reference (not pointer anymore)