draft solution -- for review only -- do not merge!

@haf while this is not valid Ruby (which I do not master), this will hopefully allow you to get the ideas of the proposed solution. Your comments are appreciated. 
Continued in PR: https://github.com/SuaveIO/suave/pull/124