SpectatorPlayerClock
See inline comment for reasoning. It's a bit complicated.
ProcessFrame
TestManualClock.Reset
WaitingOnFrames
ISpectatorPlayerClock
Too many levels of redirection. One interface with one implementation is not useful, IMO.
AddClock
CreateManagedClock