Split Component into two classes: ComponentBase and Component