Might it be better to just hide the overlay if there is no cancel callback?