If you want a stream that will always have an initial value you might want to use .StartWith()
method.
Under the hood this will do something very similar to Lee's answer except without the .TakeUntil()
.
You might need to combine this with .Replay(1)
if you want your subscribers to receive the last value immediately.