implement dodoh\Component