discussion: why exactly do we need? couldn't we do it without extension point?