support beforeRemoveChild ... for component. Update #307