Implementing important bits, testing with an example sinatra app
Encapsulating bits in a class for less ick + a rubocop cleanup