title: How to delay next(value) on subject?
body: <p>My AlertService has 
  <code>private subject = new Subject&lt;Alert&gt;();</code>.
  I want to autocratically clear alert after 5 seconds. I can do it with using <code>setTimeout()</code> like this:</p>
  
  <pre><code>autoClear(alertId?: string) {
     setTimeout(
        () =&gt; this.subject.next(new Alert({alertId})),
     5000);
    }
  </code></pre>
  
  <p>I tried to do that more elegant and I created this code:</p>
  
  <pre><code>autoClear(alertId?: string) {
      const delay = new Observable(x =&gt; {
        x.next();
      }).delay(5000).subscribe(() =&gt; {
        this.subject.next(new Alert({alertId}));
        delay.unsubscribe();
      });
    }
  </code></pre>
  
  <p>Both of example <strong>works</strong> but it doesn't look like a proper way of using RxJS. How can I improve it?</p>