New dialog component api