createComponent is protected