Dependência de Injeção Angular 2 fora do Construtor

Atualmente, estou pesquisando DI no Angular 2. Estou implementando um cliente REST usando um subtipo genérico para tipos de dados concretos como este:

class RESTClient<T>{
    constructor() {
        var inj =  ReflectiveInjector.resolveAndCreate([HTTP_PROVIDERS]);
        this.http = inj.get(Http);
        this.conf = RESTConfiguration;
    }
}
class BookClient extends RESTClient<Book>{      
    constructor(){
        // since I dont want to inject the HTTP Providers here, I'm using a custom    injector in the super class
        super();
    }
}

class WriterClient extends RESTClient<Writer>{      
    ...
    ...
}

Pelo que entendi, haverá um serviço http compartilhado entre todos os RESTClients injetados pelo serviço REST das superclasses.

Agora eu quero ter uma classe RESTConfiguration como tal:

@Injectable()
export class RESTConfiguration {
    get baseURL() {
     return this._baseURL;
    }

    set baseURL(value) {
        alert("sets value to"+value);
        this._baseURL = value;
    }

    private _baseURL;

}

Ele deve ser configurado no aplicativo principal da seguinte maneira:

initializeApp(){
  this.restconf.baseURL = "http://localhost:3004/";
}
bootstrap(MyApp, [RESTConfiguration]).then();

Agora estou me perguntando como injetar uma instância singleton do meu RESTConfiguration na classe RESTService sem transmiti-la ao construtor que desejo permanecer sem argumentos para reduzir a duplicação de código e evitar problemas com os genéricos em texto datilografado.

No exemplo acima (primeiro trecho de código), estou tentando injetar minha configuração usando o ReflectiveInjector que criei, o que me fornece uma instância personalizada da minha configuração.

Pensei em várias soluções:

Obtendo acesso ao "injetor global" do Google Apps, disponibilizando um usando um serviço ou alguma propriedade de classe estática

Implementando lógica singleton extra em minha configuração

encontrando uma maneira de usar o método de injeção angular-nativo fora do construtor?

Existem erros no meu pensamento ou estou usando mal a estrutura de DI?

questionAnswers(1)

yourAnswerToTheQuestion