Component-based software development (CBSD) increases productivity of software developers and improves overall software quality due to high degree of reusability. To achieve the full potential of CBSD, it is necessary for software developers to be able to customize components because it is rare to find the components completely matching their functional and non-functional requirements in the new applications. Existing customization approaches can be used to address this problem only in a narrow set of application domains. Addressing customization in a wide range of application domains is highly desirable, but very challenging because there are usually a number of different ways to customize a component. Different application domains can require vastly different customizations on the same component. In this paper, a framework for extensible component customization, which is independent of any run-time system or platform and can be used in a wide range of application domains, is presented.