Instead of doing this, I'd encapsulate the logic BETWEEN `PrerenderEvent::EVENT_PRERENDER_PRE` and `PrerenderEvent::EVENT_PRERENDER_POST` in a callback like shown at https://gist.github.com/Ocramius/7436435#file-aggregate-listener-php, and then using priorities:

```php
return $this->getEventManager()->trigger(new PrerenderEvent($originalRequest), function ($r) {
    return $r instanceof HttpResponse;
})->last();
```

That allows to bind listeners like:

```php
$this->getEventManager()->attach(PrerenderEvent::EVENT_PRERENDER, new MyCacheCheck(), 1000);
$this->getEventManager()->attach(PrerenderEvent::EVENT_PRERENDER, $this->prerenderCall /* private callback property */, 1);
$this->getEventManager()->attach(PrerenderEvent::EVENT_PRERENDER, new MyCacheWrite(), -1000);
```