I have been thinking about our syntax for services, and I have a proposal, let me know what you think @johnnymo87, @cored, @sampritipanda. I drew inspiration from Rails `respond_to` block, we could try something like:

~~~ruby
CreateAuthentication.for(...) do |response|
  response.success { redirect_to(oauth_path, notice: 'xxx') }
  response.failure { redirect_to(oauth_path, alert: 'xxx') }
end
~~~

This is a construct familiar to many rails developers, and personally I think it is preferable to passing multiple lambdas as function arguments. What do you guys think?