Reuse Replay objects (WIP)

This PR aims to reuse replay and replay group objects as much as possible, and, thereby, reduce the pressure on the garbage collector.