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