This is a great starting point for someone wanting to use combine. I do have a suggestion. Store the publisher in a struct as a static variable. This way other pieces of your project could also get notified of new items. 1 <-> 1 relationships with delegation have always been limiting. No reason to have that same limit here!