feat(component): provide initial component support