static void Main() { IInputReader consoleReader = new ConsoleReader(); var consoleWriter = new ConsoleWriter { AutoFlush = true }; IUnitContainer unitMatrix = new MatrixContainer(MatrixRows, MatrixCols); ICommandDispatcher commandDispatcher = new CommandDispatcher(); IUnitEffector unitEffector = new EmptyUnitEffector(); var engine = new Engine(unitMatrix, consoleReader, consoleWriter, commandDispatcher, unitEffector); engine.Start(); }