title: angular 2 transient providers instead of singleton
body: <p>I have provider which I would like to act as transient instead of a singleton.  I know I can create object manually but I would like to still resolve dependencies through the dependency injector.</p>
  
  <pre><code>export class HubServiceBase {
  
      private readonly hubAuthorizationQueryParameter = 'authToken';
  
      onCreate = new EventEmitter&lt;any&gt;();
      connectionEstablished = new EventEmitter&lt;Boolean&gt;();
      connectionExists = false;
  
      private _hubConnection: any;
  
      constructor(public authManager: AuthenticationProvider) {            
      }
  
      initialize(hubSubRoute: string): void{
          const accessToken = this.authManager.getRawAccessToken();
  
          let hubUrl = environment.baseUrl + hubSubRoute;
          if (accessToken) {
              hubUrl += '?' + this.hubAuthorizationQueryParameter +'=' + accessToken;
          }
  
          this._hubConnection = new HubConnectionBuilder()
                                  .withUrl(hubUrl)
                                  .build();
      }
  //...
  }
  </code></pre>
  
  <p>the initialize function can be called from different services and it maintains a web socket with my server.  There can be multiple sockets open running concurrently.  </p>
  
  <p>How can I get a new one from the Dependency injector each time a page requests it?</p>