While a Gear could consist of standalone TypeScript code, it is common for them integrate with the Personalization Core system at one or more execution points. This integration is accomplished by extending one of the many Gear Component types provided. Components are differentiated from System Services in that Gears use system services to call into the Personalization system while a component is called by the Personalization system at a point determined by the component type.