indexing description: "The machine" class Machine creation make feature make is do -- Start with an empty machine ! StateEmpty ! state.make (current); count := 0; end; feature {NONE} count: Integer; feature {AbstractState} -- Current state state: AbstractState; -- Change the state set_state (s: AbstractState) is do state := s; end; feature {ANY} -- Delegate to the state object show_state is do state.show_state; end; -- Delegate to the state object abort is do state.abort; end; -- Delegate to the state object finish is do state.finish; end; -- Delegate to the state object add_money (m: integer) is do state.add_money (m); end; -- Delegate to the state object, and increment card count if successful insert_card (c: Card) is do if state.insert_card (c) then count := count + 1; end; end; -- Delegate to the state object get_card: Card is do Result := state.get_card; end; -- Delegate to the state object money: Integer is do Result := state.get_money; end; end -- class Machine