refactor: centralize collection-backed persistence (#2568)