The Flexible Packaging method allows a component developer to defer some decisions about component interaction until system integration time. The method divides the component's source into two pieces: the ware, which encapsulates the component's functionality; and the packager, which encapsulates the details of interaction. Both the ware and the packager are independently reusable. A ware, as a reusable part, allows a given piece of functionality to be employed in systems in different architectural styles. A packager, as a reusable part, encapsulates conformance to a component standard, like an ActiveX control or an ODBC database accessor. Because the packager often consists of "boiler plate" source code, a tool is provided to generate the packager's source from a high-level description of the intended interaction, written in the architectural description language UniCon. To validate that this method is applicable to "real world" components, we performed two case studies that involved creating a family of components for viewing PNG images and a family of components for updating databases of phone numbers. Each case study consisted of developing one ware and packaging it three different ways.