namespace MeetingAssistant.Recording; public interface IMeetingInactivityClock { DateTimeOffset Now { get; } Task DelayAsync(TimeSpan delay, CancellationToken cancellationToken); } public sealed class SystemMeetingInactivityClock : IMeetingInactivityClock { public DateTimeOffset Now => DateTimeOffset.Now; public Task DelayAsync(TimeSpan delay, CancellationToken cancellationToken) { return Task.Delay(delay, cancellationToken); } }