title: Create classes for Single, Maybe and Completable in RxJS 6
body: <p>It's a good practice to create my own Observable extended classes? i want to implement my own Single and Completable classes for the sake of know the amount or absence of data than and observable can return and i want it as a class because i use <code>reclect-metadata</code> and i use <code>design:returntype</code> in my decorators so i need a classes not an alias (because using alias the type returned will be always Object and not the original class constructor).</p>
  
  <p>The idea is: for Single observables use the single operator and for Completable observables use the ignoreElements operators but without a class in Typescript for Singles i don't know the amount of data by only reading in the code Observable, that observable can return one or many or none and i want a Single for particular cases, this is what i want:</p>
  
  <pre><code>// some methods in some class
  loginUser(userName: string, password: string): Single&lt;User&gt;
  saveUser(user: User): Completable
  </code></pre>
  
  <p>For my this is more readable (because i use RxJava 2 in my Android projects) and with that i know that expect or not, without that i need to do:</p>
  
  <pre><code>loginUser(userName: string, password: string): Observable&lt;User&gt; // if i chain this with other observables i don't know how much users this will return
  saveUser(user: User): Observable&lt;void&gt; // simply ugly
  </code></pre>
  
  <p>That is not good for my eyes you know? so i want to create that classes for a better read of my code and better implementation.</p>