def replace_last(action)
      raise ArgumentError, "Parameter, 'action', expected to be a #{Action}, but received: #{action}" unless action.is_a? Action

      @actions[@last_done].undo
      @actions[@last_done] = action
      action.do

      nil
    end
def replace_last(action)
      raise ArgumentError, "Parameter, 'action', expected to be a #{Action}, but received: #{action}" unless action.is_a? Action

      @actions[@last_done].undo
      @actions[@last_done] = action
      action.do

      nil
    end
Perform a History::Action, replacing the last action that was performed.

 @param [History::Action] action Action to be performed