I was thinking something like:

~~~ruby
def initialize
  response = Response.new
  yield(response)

  if success
    response.success.call
  else
    response.failure.call
  end
end

...

class Response
  def success(&block)
    @success ||= block
  end

  def failure(&block)
    @failure ||= block
  end
end
~~~