// ReSharper disable once TooManyDependencies public OutputService(IBuilding building, IElevator elevator, ILogger <OutputService> logger, IEventStreamService eventStreamService, IHubContext <ElevatorHub, IElevatorHub> hub, ISettingsService settingsService) { _building = building; _logger = logger; _eventStreamService = eventStreamService; _hub = hub; _elevator = elevator; _settingsService = settingsService; _tokenSource = new CancellationTokenSource(); _token = _tokenSource.Token; _building.SubscribeToPersonActions(personAction => { _history.Add(personAction); if (_history.Count > 100) { _history.RemoveAt(0); } }, _token); _eventStreamService.SubscribeToGeneration(genAction => { if (genAction == "FINISHED") { _logger.LogInformation($"History count: {_history.Count}"); } }, _token); _elevator.SubscribeToElevatorActions(OnElevatorAction); }