anchor.diff:  which will return a Rack application(an object which complies to 
   http://rubydoc.info/github/rack/rack/master/file/SPEC[Rack SPEC]).
   
  +[[using-initialize]]
  +=== Using #initialize
  +
   You can set some state in `#initialize` and then use it in the route's action:
   
   [source,ruby]
  
positive.code: end
  ----
  
  To run an application, you can put it into `config.ru`:
  
  [source,ruby]
  
negative.code: * https://github.com/ch1c0t/hobby-auth[hobby-auth]: User authorization.
  
  
  [[using-rack-builder]]
  == Using Rack::Builder
  
  You can use `map` and `use` from http://www.rubydoc.info/gems/rack/Rack/Builder[Rack::Builder].
  
  [[mapping-applications]]
  === Mapping applications
  
  You can mount any Rack application to a Hobby application with `map`.
  Here is an example of mounting the application from <<using-initilize>>
  to '/anatoly' and '/patricio' routes:
  
  [source,ruby]
  ----
  require 'hobby'
  
  class App
    include Hobby
  
    map('/anatoly') { run C.new 'Anatoly' }
    map('/patricio') { run C.new 'Patricio' }
  
    get '/' do
      'Mapping app.'
    end
  end
  ----
  
  [[using-middleware]]
  === Using middleware
  
  You can use any Rack middleware with `use`:
  
  [source,ruby]
  ----
  