Added a "Compound" component to encapsulate others