static void Main(string[] args) { List <IObserver> printers = new List <IObserver>(); Todos todos = new Todos(new InMemoryTodoRepository()); todos.AddObserver(new StatsPrinter()); todos.AddObserver(new YetToDoPrinter()); todos.AddObserver(new AllTaskPrinter()); while (true) { string action = SelectAction(); ExecuteAction(todos, action); } }