private void ProcessIncrementMoviePlayCountMessage(IncrementMoviePlayCountMessage message) { var newCount = 0; if (_moviePlayCount.ContainsKey(message.MovieTitle)) { newCount = _moviePlayCount[message.MovieTitle] + message.Count; _moviePlayCount[message.MovieTitle] = newCount; } else { newCount = message.Count; _moviePlayCount.Add(message.MovieTitle, newCount); } // Simulated Exception - SimulatedCorruptStateException if (newCount > 3) { throw new SimulatedCorruptStateException(); } // Simulated Exception - SimulatedCorruptStateException if (message.MovieTitle == "Terminator") { throw new SimulatedTerribleMovieException(); } ColoredConsole.WriteStateChangeEvent($" [{this.ActorName}] State: Movie '{message.MovieTitle}' has been watched {newCount} times."); }