We currently have a problem where the InputsLog is intimately aware of how it is being used: it has a m_capturing and m_replaying flag. However, this means we have 3 state machines keeping track of replay state: one in the inputs log, one in the replay controller, and one in the replay agent.
It would be nice if we could create an "input iterator" that encapsulates replay state/inputs used, so that the same recording could be replayed more than once concurrently. So, it would need to become immutable.
Updating estimate; updating the bindings generator has taken most of a day, unfortunately.