Make popover base more generic