<p dir="auto"><strong>I'm submitting a proposal.</strong><br>
Please consider the proposal, maybe you introduce something like that <a href="https://www.npmjs.com/package/angular2-cache" rel="nofollow">https://www.npmjs.com/package/angular2-cache</a></p>
<p dir="auto"><strong>Current behavior</strong><br>
Is absent, therefore I have reinvented the wheel</p>
<p dir="auto"><strong>Expected behavior</strong><br>
`export class Service {</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="private id:string;             
private expiration:string;      

@ZoneCached()   // The result will be cached within working zone
public getExpirationDate():Date {
    return this.expiration
        ? new Date(this.expiration)
        : null;
}"><pre class="notranslate"><code class="notranslate">private id:string;             
private expiration:string;      

@ZoneCached()   // The result will be cached within working zone
public getExpirationDate():Date {
    return this.expiration
        ? new Date(this.expiration)
        : null;
}
</code></pre></div>
<p dir="auto">}</p>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Injectable/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Injectable">@Injectable</a>()<br>
export class NgZoneGlobalCache extends MemoryCache&lt;any, any&gt; {</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="constructor(@Inject(NgZone) ngZone:NgZone) {
    super();

    ngZone.onStable.subscribe(() =&gt; {
        this.clear();  // Clear the memory cache when ngZone completed its work
    });

    GlobalCachesInstances.ZONE_INSTANCE = this;
}"><pre class="notranslate"><code class="notranslate">constructor(@Inject(NgZone) ngZone:NgZone) {
    super();

    ngZone.onStable.subscribe(() =&gt; {
        this.clear();  // Clear the memory cache when ngZone completed its work
    });

    GlobalCachesInstances.ZONE_INSTANCE = this;
}
</code></pre></div>
<p dir="auto">}`</p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong><br>
I wanna get a solution out of the box.</p>
<ul dir="auto">
<li><strong>Angular version:</strong> 2.0.X</li>
<li><strong>Browser:</strong> all</li>
<li><strong>Language:</strong> TypeScript 1.x, 2.x</li>
</ul>
<p dir="auto">Couldn't get custom event (ping) bubble up to the root component. DOM event (click) works just fine:<br>
<a href="http://plnkr.co/edit/g6RNv5qMreVFKYcwvtOs?p=preview" rel="nofollow">http://plnkr.co/edit/g6RNv5qMreVFKYcwvtOs?p=preview</a></p>
<p dir="auto">Using alpha.25</p>