This paper presents an approach to dynamic component composition that facilitates creating new composed components using existing ones at runtime and without any code generation. The dynamic abilities are supported by extended type notion and implementation based on additional superstructure provided with its Java API and corresponding JavaBeans components. The new component composition is performed by building the composed prototype object that can be dynamically transformed into the new instantiable type (component). That approach demonstrates interrelations between prototype-based and class-based component-oriented programming. The component model proposed can be used when implementing user-defined types in declarative languages for event-driven applications programming.