Creating Leaky Abstractions With RxJS In Angular 2.1.1