Custom Components in Flex 4 Components in Flex 4 use the Spark architecture where all components inherit from spark.components.supportClasses.SkinnableComponent rather than mx.core.UIComponent. A component has a defined lifecycle with phases for construction, addition, initialization, invalidation/validation, update, and removal. Understanding the Flash Player's frame-based execution model, with code execution and rendering separated across slices, explains why components need lifecycles to ensure proper display and behavior.