Demo: Update implementation to work with Sinatra::Application

I wrote my implementation originally using a stub
object until I could see what the default context
passed to `Demo.new()` was.  Having tested it out
I found some non-contrived methods that
communicate what's worth testing a bit better.