def modify_stack(target_status, failure_message, &block)
      if wait?
        status = modify_stack_synchronously(&block)
        raise StackUpdateError, failure_message unless target_status === status
        status
      else
        modify_stack_asynchronously(&block)
      end
    end
def modify_stack(target_status, failure_message, &block)
      if wait?
        status = modify_stack_synchronously(&block)
        raise StackUpdateError, failure_message unless target_status === status
        status
      else
        modify_stack_asynchronously(&block)
      end
    end
Execute a block, to modify the stack.

 @return the stack status