title: In Swift Combine, is the "root" object always a Subject?
body: <p>In Apple's WWDC videos on <code>Swift Combine</code>, they always use <code>NSNotificationCenter</code> as the publisher of messages. However, a <code>Publisher</code> does not appear to have any ability to actually send a message on demand. That functionality appears to be in <code>Subject</code>.</p>
  
  <p>Am I correct in assuming that a <code>Subject</code> must therefor be the root object of any chain of <code>Publishers</code>? Apple provides two built-in subjects called: <code>CurrentValueSubject</code> and <code>PassthroughSubject</code>.</p>
  
  <p>But I assume I can write my own <code>Subject</code> using the appropriate protocols? </p>