I'm uncomfortable having this code as a template that gets copied into every application. I'd much rather have a new gem that we depend on which includes this class, so that we can update it as the related APIs change, fix bugs, add features, and improve documentation without having to worry about all the copies that were created in our applications. Using a gem would also make it easier to use this from non-suspenders projects.