public AbstractMachineState(AbstractMachineFactory factory) { _program = factory.CreateProgram(); _dataArea = factory.CreateDataArea(); _trail = factory.CreateTrail(); _ac = factory.CreateCache(); }