ComponentBase implementation