* It's not a renderer, it's an interface to controlling the replay and any 'renderer' type work actually happens in ReplayOutput.
* This allows us to return complex types like byte arrays or pairs of status & render handle. * Also in future more introspection of the capture file will be possible and this provides an easy extension to that without adding new entry points.