public Task<string> ReadUserInput(string prompt, int maximumLength, CancellationToken ct) {
ReadUserInputCalls.Add(new Tuple<string, int, CancellationToken>(prompt, maximumLength, ct));
return ReadUserInputHandler != null ? ReadUserInputHandler(prompt, maximumLength, ct) : Task.FromResult(string.Empty);
}