/// Creates a stream that can be paused and resumed. Whilst paused any updates to the source stream will be saved in a replay stream.
/// Once the stream is resumed, the items saved in the replay stream will be published to the ouput stream.
/// The stream can be paused and resumed by publishing a bool to the isPausedStream - true to pause, false to resume.
/// By default the stream starts as paused, but this can be overridden by setting the isPausedOnStart parameter.
/// <typeparamname="T">The object that provides notification information.This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.</typeparam>
/// <paramname="sourceStream">The stream to read from and either republish or save whilst the strea